在Javascript中是否有一个With语句,就像在VB中一样

时间:2017-12-31 12:36:30

标签: javascript vba

我可以在VBA中拥有自己的,现在我冒险进入Javascript。

在VBA中,如果要使用相同的对象,可以使用With语句对其进行预处理,而不需要再次引用该对象。例如;

With oSomeForm
   .Name = "some neat name"
   .Refresh
End With   ' oSomeForm

Javascript有类似内容吗?

1 个答案:

答案 0 :(得分:3)

是的,there is。由于this YUI blog post by Douglas Crockford中描述的原因强烈建议不要使用它,并且你不能在严格模式下使用它(你应该使用它,模块中的默认模式),但它就在那里。

with (someForm) {
    name = "some neat name";
    // ...
}

请注意,您不像在VB中那样使用前导.

不要使用with,而是考虑重复变量名称。如果它很长,或者您对表达式的结果使用with,则可以使用本地别名。例如,在ES2015及更高版本中,您可以在块中使用本地const

{
    const o = /*...the long identifier or expression...*/;
    o.name = "some neat name";
}

MDN是一个非常好的社区编辑的JavaScript信息资源