欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > Js&Ajax > JavaScript with 用法参考

JavaScript with 用法参考

2018-06-26 515 收藏 0 赞一个 0 真差劲 0 去评论

可能有些朋友对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='';


一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论