我正在玩这个代码片段的Javascript:
function personDetails(age) {
var param = "The age of " + this.name + ' is ' + age;
return param;
}
var details = personDetails(26);
console.log(details);
'this'没有为该函数定义。 (是的,该函数应该与call和apply方法一起使用)。
但是我很好奇,当我在终端,浏览器(通过.html文件加载)和小提琴中运行它时,我得到不同的输出。
使用node在终端中运行会给出o / p:未定义的年龄为26。
在浏览器中运行(通过.html文件加载):年龄为26岁。
在小提琴中奔跑:结果的年龄是26岁。
我很好奇为什么“未定义”在终端中,为什么浏览器中没有任何内容以及为什么“结果”在小提琴中。