Chrome(`版本 46.0.2490.80 m`)开发者工具和 'undefined'
Chrome (`Version 46.0.2490.80 m`) developer tools and 'undefined'
真的很抱歉 'title'...
我在 Chrome (Version 46.0.2490.80 m
) 开发人员工具中有一个简单的脚本 运行ning。这个 undefined
来自哪里?
当 运行 'normally' 按预期工作时,同样的脚本:
这是因为开发者工具将您提供的字符串解析到控制台并将其作为函数执行和return/print return 值 无论如何你说的是 returning.
执行下面的代码,没有return语句,所以会打印undefined
.
(function(){
[1,2,3].forEach(function(val) {
console.log(val);
});
//no return statement //Hence undefined
})();
但是看看下面的例子,函数是 returning 一些值。
(function(){
[1,2,3].forEach(function(val) {
console.log(val);
});
return "YOU DONT SEE UNDEFINED NOW"; //prints the string
})();
而如果它是由浏览器脚本执行的,则开发人员工具会将函数打印的内容和函数 return 的值打印给其调用者。 (在这里,开发人员工具不需要通过浏览器脚本打印所有函数 return 值 运行,然后您的日志变得一团糟。您将看到随机 return 值 return由每个函数编辑。
真的很抱歉 'title'...
我在 Chrome (Version 46.0.2490.80 m
) 开发人员工具中有一个简单的脚本 运行ning。这个 undefined
来自哪里?
当 运行 'normally' 按预期工作时,同样的脚本:
这是因为开发者工具将您提供的字符串解析到控制台并将其作为函数执行和return/print return 值 无论如何你说的是 returning.
执行下面的代码,没有return语句,所以会打印undefined
.
(function(){
[1,2,3].forEach(function(val) {
console.log(val);
});
//no return statement //Hence undefined
})();
但是看看下面的例子,函数是 returning 一些值。
(function(){
[1,2,3].forEach(function(val) {
console.log(val);
});
return "YOU DONT SEE UNDEFINED NOW"; //prints the string
})();
而如果它是由浏览器脚本执行的,则开发人员工具会将函数打印的内容和函数 return 的值打印给其调用者。 (在这里,开发人员工具不需要通过浏览器脚本打印所有函数 return 值 运行,然后您的日志变得一团糟。您将看到随机 return 值 return由每个函数编辑。