我看到了以with开头的JavaScript代码。这有点令人困惑。它有什么作用,如何正确使用?

with (sObj) return options[selectedIndex].value;

最佳答案

它增加了该块中包含的语句的范围:

return sObj.options[selectedIndex].value;

可以变成:
with (sObj)
    return options[selectedIndex].value;

就您而言,它并不能做很多事情……但请考虑以下几点:
var a, x, y;
var r = 10;
a = Math.PI * r * r;
x = r * Math.cos(PI);
y = r * Math.sin(PI /2);

成为:
var a, x, y;
var r = 10;
with (Math) {
  a = PI * r * r;
  x = r * cos(PI);
  y = r * sin(PI / 2);
}

...节省了几次击键。实际上,Mozilla文档在将事情做得更详细方面做得很好(以及使用它的利弊):

with - Mozilla Developer Center

关于javascript - “with”在JavaScript中做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2538350/

10-15 14:35