with语句

    最近在理解 js的严格模式,提到了“禁止使用with语句,因为with语句无法在编译时就确定,属性到底归属哪个对象。”

     因为之前并没有接触过with语句,所以现在整理一下whith语句;

   W3 school对于with()语句是这样解释的

msdn.microsoft.com  对于with()语句是这样解释的

<script type="text/javascript">
            var obj={
                a:1,
                b:2,
                fn:function(){
                    console.log('0')
                }
            }
            with(obj) {
                console.log(a)//1
                console.log(b)//2
                fn()//0
            }
        </script>

所以总结下来,with 语句通常用来减少特定情形下必须写入的代码数量。如上例,还是比较方便的,可以减少代码量,但是由于运行比较缓慢,且代码的变量不好的读取和调试,一般不使用。

原文地址:https://www.cnblogs.com/xumqfaith/p/7844168.html