Javascript 中的with

内容纲要

今天校门口的旅馆又要。。。爆满了。。

汪汪汪!!!🐶🐶🐶🐶🐶🐶

with (object) statements

** 参数 :object **

新的默认对象。

** statements **

一个或多个语句,object 是该语句的默认对象。

说明

with 语句通常用来缩短特定情形下必须写的代码量。在下面的例子中,请注意 Math 的重复使用:

x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10) 

y = Math.tan(14 * Math.E) 

当使用 with 语句时,代码变得更短且更易读:

“`
with (Math){
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}
with(),,,;

with(document)write(fileSize),write('<br>'+lastModified)

<pre><code class="line-numbers"></code></pre>

<script>
with(document)
write(fileSize), write('<br>' + lastModified), write('<br>' + location),
write('<br>' + protocol), write('<br>' + location.host)
</script>

<pre><code class="line-numbers">避免使用JavaScript的With

JavaScript允许使用with关键字来指定某个对象的一系列属性或者方法。比如有这样一段代码:

</code></pre>

var x = document.body.scrollLeft;
document.write('text1');
document.write('text2');
document.write('text3');

<pre><code class="line-numbers">如果用with的话,可以这样写:

“`
with document {
var x = body.scrollLeft;
write(‘text1’);
write(‘text2’);
write(‘text3’);
}

但是,这样看似精简代码的方法却会使JavaScript的执行时间增加许多。因为它会去检查大括号内的每个变量是否是这个对象的属性或者方法。

所以,如果要精简代码的话,可以这样写,从而避免使用with。

var d = document; 
var x = d.body.scrollLeft; 
d.write('text1'); 
d.write('text2'); 
d.write('text3'); 

发表评论

您的电子邮箱地址不会被公开。