各位幕友,我在学习js 的时候遇到一个比较想不通的题,麻烦大家帮帮忙,题目是这样的
很久很久以前,有个叫阿隆佐·邱奇的帅哥,发现只需要用函数,就可以用计算机实现运算,而不需要0、1、2、3这些数字和+、-、*、/这些符号。
JavaScript支持函数,所以可以用JavaScript用函数来写这些计算。来试试:
// 计算数字2 = 1 + 1:
var two = add(one, one);
// 计算数字3 = 1 + 2:
var three = add(one, two);
// 计算数字5 = 2 + 3:
var five = add(two, three);
// 你说它是3就是3,你说它是5就是5,你怎么证明?
// 呵呵,看这里:
// 给3传一个函数,会打印3次:
(three(function () {
console.log('print 3 times');
}))();
// 给5传一个函数,会打印5次:
(five(function () {
console.log('print 5 times');
}))();
我看不懂这里面写的什么意思,有哪位幕友知道的可以指点12吗?谢谢
这是别人的解释。个人觉得很有帮助
感觉有点矛盾。先是定义了一个three变量,然后调用函数add,那three的类型就是add函数返回的类型,你说3就是3,5就是5,那按照你的意思这个three的类型不是string就是int,但是你在下面又能给变量three传参数,那又说明了three其实是一个函数,那这两者就有矛盾了。反正我是这么觉得的,可能是我太菜, 只能想到这么点了。