zoukankan      html  css  js  c++  java
  • JS 作用域 实例分析

    /*  此模块测试变量作用域 star */
    var a ;
    console.log(a); //undefined
    function testScope0(){
        a = 10;
        console.log(a); //10
    }
    testScope0();
    /*  此模块测试变量作用域 end */
    
    /*  此模块测试变量作用域 star */
     var a = 100;
     console.log(a); //100
    
    function testScope1(){
        a = 10;
        console.log(a); //10
    }
    testScope1();
    
    function testScope2(){
        var a = 10;
        console.log(a); //10
    }
    testScope2();
    
    function testScope3(){
        var a = 10;
        console.log(a); //10
        console.log(this.a); //100
    }
    testScope3();
    
    function testScope4(){
        a = 10;
        console.log(a); //10
        console.log(this.a); //100
        var a =1000;
        console.log(a);//1000
    }
    testScope4();
    
    /*  此模块测试变量作用域 end */
    
    /*  此模块测试变量作用域 star */
    var a = b = null;
    var c = 1;
    (function a(v){
        console.log(c); //1
        console.log(v); //1
     return a = v;
    })(c)
     console.log(a); //null
    
    var a = b = null;
    var c = 1;
    function otherScope(c){
        console.log(c); //1
        a = c;
        console.log(a); //1
     return a;
    }
    otherScope(c);
    console.log(a); //1
    
    /*  此模块测试变量作用域 end */
    
    /*  此模块测试变量作用域 star */
    var name = "window";
    var obj = {
        name:"the obj",
        getName:function(){
            return this.name
        }
    }
    console.log(obj.getName()); //the obj
    /*  此模块测试变量作用域 end */
    
    /*  此模块测试变量作用域 star */
    var name = "window";
    var obj = {
        name:"the obj",
        getName:function(){
                    return function(){
                        return this.name;
                    }
                }
        }
    console.log(obj.getName()()); //window
    /*  此模块测试变量作用域 end */
    
    /*  此模块测试变量作用域 star */
    var a;
    if(a in window){
     console.log("yes"); //yes
    } 
    
    if(!(a in window)){
        var a = 1;
    }
    console.log(a); //undefined
    /*  此模块测试变量作用域 end */
  • 相关阅读:
    软件自动化测试工程师面试题集锦(1)
    IDEA Maven无法引入org.openjfx:javafx.base:11.0.0-SNAPSHOP
    Maven的dependency和dependencyManagement的区别
    在idea中创建多模块的SpringBoot项目
    MAVEN中三种packaging方式
    IntelliJ IDEA创建maven多模块项目
    Spring Boot 中使用 thrift 入门
    在IntelliJ IDEA使用.gitignore插件的方法和作用
    Git
    TortoiseGit安装、配置
  • 原文地址:https://www.cnblogs.com/xmyun/p/5923749.html
Copyright © 2011-2022 走看看