如何解决with语句是否应该应用于嵌套函数?
| 采取以下代码: var a = new Object(); a.meep = 5; 函数foo(){ 与(a){ 功能bar(){ 退缩 } return bar(); } } 像这样的代码在Chrome中对我来说失败了,并在Firefox中起作用。哪个是对的?解决方法
正确的事是永远不要使用
with
。曾经任何语言。
多年来,造成的错误和开发时间with
的数量。...应该在goto
下方的黑名单中。
如果您真的不想键入,请使用代码完成功能或将长表达式分配给短变量。就是说,我认为这项工作很有用。它会恰好适合Javascript的其他魔术作用域度量标准。 :)
, 作为一般建议:请勿使用。
但是,要使您的代码在Chrome中运行,请进行以下更改:
var a;
至:
var a=new Object();
和:
function bar() {
至:
var bar = function() {
要给出完整的代码,如下所示:
var a=new Object();
a.meep = 5;
function foo() {
with (a) {
var bar = function() {
return meep;
}
return bar();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。