我正在阅读某人的javascript代码,我很难理解他们在这里要做什么。在console.log中运行一个函数?
var add3 = add(3);
var add4 = add(4);
console.log(add3(4));
有人可以解释console.log()
里面发生了什么吗?
是console.log
只取add3
的值,并自动将它加到一个整数4?
由于
我正在阅读某人的javascript代码,我很难理解他们在这里要做什么。在console.log中运行一个函数?
var add3 = add(3);
var add4 = add(4);
console.log(add3(4));
有人可以解释console.log()
里面发生了什么吗?
是console.log
只取add3
的值,并自动将它加到一个整数4?
由于
window.console
是你的浏览器如何给它已下载和解析的文档反馈。您通常可以通过按F12然后单击“控制台”选项卡来查看它。这是alert
的很好替代品,但您也可以直接在其中编写JavaScript,然后单击“运行”(如果是单行命令框,请按Enter键)。这比将其写入文件,保存,刷新以及查看会发生什么更容易。
不知道任何关于你的添加功能,它看起来像是要显示一个currying的例子。因此,而不是说:
function add(x, y){
return x + y;
}
你写:
function add(x){
return function(y){
return x + y;
}
}
然后,你可以这样做:
var add3 = add(3); //returns a function that will add 3 to anything
console.log(add3(4)); //returns 7.
console.log(add(3)(4)); //also returns 7.
这似乎是一个愚蠢的方式做到这一点,但它的产生办法在飞行中的功能。如果我在第一个例子中做了add(3)
,它会在控制台中中断并说“y未定义”。使用curried示例,var add3 = add(3)
就像是在说:“好吧,我不知道我想要添加三个还是什么,因此add3
只是另一个功能,它会将3添加到任何内容中。”
console.log
输出它的参数到控制台。 它的标记(add3(4)
)是一个函数调用,它调用函数add3
,参数4
。
add3
是由add
生成的函数。
功能add
看起来艾克这个(可能):
function add(n) {
return function(x) {
return n + x;
}
}
add()?的定义是什么?它必须是一个返回函数的函数。顺便说一句,你必须添加语言标记。也许这是JavaScript? – ymonad
它只是对'add3(4)'的结果调用'console.log'。 – user2357112