課外疑惑求解
各位幕友,我在學(xué)習(xí)js 的時(shí)候遇到一個(gè)比較想不通的題,麻煩大家?guī)蛶兔?,題目是這樣的
很久很久以前,有個(gè)叫阿隆佐·邱奇的帥哥,發(fā)現(xiàn)只需要用函數(shù),就可以用計(jì)算機(jī)實(shí)現(xiàn)運(yùn)算,而不需要0、1、2、3這些數(shù)字和+、-、*、/這些符號(hào)。
JavaScript支持函數(shù),所以可以用JavaScript用函數(shù)來寫這些計(jì)算。來試試:
// 計(jì)算數(shù)字2 = 1 + 1:
var two = add(one, one);
// 計(jì)算數(shù)字3 = 1 + 2:
var three = add(one, two);
// 計(jì)算數(shù)字5 = 2 + 3:
var five = add(two, three);
// 你說它是3就是3,你說它是5就是5,你怎么證明?
// 呵呵,看這里:
// 給3傳一個(gè)函數(shù),會(huì)打印3次:
(three(function () {
??? console.log('print 3 times');
}))();
// 給5傳一個(gè)函數(shù),會(huì)打印5次:
(five(function () {
??? console.log('print 5 times');
}))();
我看不懂這里面寫的什么意思,有哪位幕友知道的可以指點(diǎn)12嗎?謝謝
2019-02-15
https://www.liaoxuefeng.com/discuss/001434785951277d88c0f2037a2409682c8f0de5384c232000/001536770894544be7615d5de064431bb5c90a2823b85f1000
這是別人的解釋。個(gè)人覺得很有幫助
2016-10-16
感覺有點(diǎn)矛盾。先是定義了一個(gè)three變量,然后調(diào)用函數(shù)add,那three的類型就是add函數(shù)返回的類型,你說3就是3,5就是5,那按照你的意思這個(gè)three的類型不是string就是int,但是你在下面又能給變量three傳參數(shù),那又說明了three其實(shí)是一個(gè)函數(shù),那這兩者就有矛盾了。反正我是這么覺得的,可能是我太菜, 只能想到這么點(diǎn)了。