教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 javascript with用法分享

javascript with用法分享

发布时间:2015-07-13   编辑:jiaochengji.com
本文介绍了javascript中with语句的用法,有需要的朋友参考下。

javascript中的with语句,其实with会暂时修改作用域链,当定义了函数a,也就确定了a的作用域链,比如:
 

复制代码 代码示例:
<script>
function a(){
with (b) {
...
}
}a();
</script>
 

暂且认为这条链的最顶端是全局对象window。当函数a被执行时,javascript引擎生成了一个call object并将其添加到作用域链尾部上(window对象之后),语句运行到with(b)时,将b添加到作用域链的尾部,所以with之内的变量查找,就会优先从这条链的b上查找---> 然后从a的call object中查找---> 最后查找window。with内的语句执行完之后,作用域链恢复原状(b被移出作用域链)。

但是对with的使用,很多人不推荐,因为with操作作用域链,导致with语句之前的变量查找路径变长,执行效率低下;但有些人认为with能节省代码量,比如:
 

复制代码 代码示例:
with(document.forms[0]){
name.value='';
address.value='';
email.value='';
}
 

就能少写不少document.forms[0],其实定义一个局部变量取代with中的b也可以达到同样目的,效率也无损失。
代码:
 

复制代码 代码示例:
var c=document.forms[0];
c.name.value='';
c.address.value='';
c.email.value='';

您可能感兴趣的文章:
javascript with用法分享
JS获取图片实际宽高示例代码
js复制网页内容(兼容多个浏览器)
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
20个非常棒的 jQuery 幻灯片插件和教程分享
Javascript中with语句用法
jquery $.ajax相关用法分享
前端优化-Javascript篇(3.标识符查找优化)
javascript表单验证 javascript验证邮箱的例子
javascript中with语句的用法浅析

关键词: with语句   
[关闭]
~ ~