作用域题目

<script>
        // 全局变量是window对象的属性
        var a;//此刻a在这里是字符串,即充当windows对象的属性
        if( 'a' in window ){
            var a = 10;
        } else {
            var a = 20;
        }
        // 变式1
        if( a in window ){
        //在这道题中,先将a提升,但是值留在原地不动,定义了之后开始没有给值,默认为undefined,因此undefined传进来为window的属性,也是true返回10;
            var a = 10;
        } else {
            var a = 20
        }
        undefined = 123;
        console.log( undefined );
        //  变式2
        var a = 100;
        window[ a ] = a;//这个是将a等于100转化为window的100的位置等于100,给window对象添加了索引为a时,有值等于a;a这样子在window就为true了;
        if( a in window ){
            var a = 10;
        } else {
            var a = 20;
        }
       console.log( a ); 
   </script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容