我有像这样的JavaScript代码=>
(function(){
document.getElementById("element").onclick = function(){
var r = confirm("Are you sure ?");
if (r){
return true;
} else {
return false;
}
}
})();
这个脚本有效,但只是给我通知严格警告 匿名函数并不总是返回值
我对这意味着什么感兴趣,我怎样才能防止这种情况,它会引发任何问题?请问有什么想法?谢谢:))
答案 0 :(得分:8)
这不是因为匿名函数,而是else
与return
的冗余。您不需要它,因为返回退出函数,如果if
语句不为真,则默认return
将执行。
(function(){
document.getElementById("element").onclick = function(){
var r = confirm("Are you sure ?");
if (r){
return true;
}
return false;
}
})();
修改强>
正如 nebulae 所说,这可以做得更短:
(function(){
document.getElementById("element").onclick = function(){
return confirm("Are you sure ?");
}
})();
答案 1 :(得分:6)
实际上由于你的脚本中启用了strict mode而得到的strict warning
但是如果你的脚本中没有使用“use strict”那么我认为,正如你在评论中说的那样你正在使用Komodo IDE
并且很可能已经安装了Firefox Extension for Debugging
,这是支持JavaScript调试的浏览器端组件所必需的。
如果是这样,那么它有一些你可以使用或禁用的设置。要停用strict mode warnings
,只需转到修改菜单>偏好> Javascript(来自类别)并取消选中启用严格警告消息,就是这样。但是使用strict mode
是一种很好的编程习惯。以下是帮助您的截图