我正在重构一些代码:
with (form.proxy_settings) {
PutValue("Usage", 1);
PutValue("Server", 2);
PutValue("ServerPort", 3);
PutValue("Login", 3);
}
我想删除with
。我应该这样做吗?
(function() {
ps.PutValue("Usage", 1);
ps.PutValue("Server", 2);
ps.PutValue("ServerPort", 3);
ps.PutValue("Login", 3);
}(form.proxy_settings);
或者在这种特殊情况下,简单地将 form.proxy_settings
添加到需要的位置会更好吗?
最佳答案
首先,如果您使用函数,则需要声明参数ps
:
(function(ps) {
ps.PutValue("Usage", 1);
ps.PutValue("Server", 2);
ps.PutValue("ServerPort", 3);
ps.PutValue("Login", 3);
}(form.proxy_settings);
但是,您实际上并不需要执行函数。这也同样有效,并且是一种常见的 JavaScript 设计模式,与在每行中使用较长的名称相比,可以节省键入并提高性能:
var ps = form.proxy_settings;
ps.PutValue("Usage", 1);
ps.PutValue("Server", 2);
ps.PutValue("ServerPort", 3);
ps.PutValue("Login", 3);
关于javascript - 将 'with' 替换为立即函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19984551/