码迷,mamicode.com
首页 > Web开发 > 详细

[js]js中4种无节操的预解释情况

时间:2018-02-05 14:15:32      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:一个   code   ons   --   range   logs   语句   定义   情况   

js中4种无节操的预解释情况

- 1. if语句即使条件不成立,条件里的表达式也会进行预解释.
- 2. 匿名函数的预解释:  只对等号左边与解释
- 3. 自执行函数的预解释: 不进行预就解释, 执行的时候,定义+执行
- 4. return下面的语句也会进行预解释,但是return后面的语句不进行预解释
<script>
    var p1 = {name: "maotai"};
    console.log(age); //1.即使条件不成立,条件里的表达式也会进行预解释.
    if ("age" in p1) { // 是否是对象的一个属性
        var age = 22;
        console.log("name in p1")
    }
    console.log("--------------------------------");

    // 2.匿名函数的预解释:  只对等号左边与解释
    fn();

    function fn() {
        console.log("fn is running!");
    }

    fn();
    console.log("--------------------------------");

    // 等号右边的不会进行预解释.
    //    fn2(); //报错
    var fn2 = function () {
        var favor = "orange";
        console.log("fn2 is running!")
    };
    fn2();

    // 3. 自执行函数的预解释: 不进行预就解释, 执行的时候,定义+执行
    ~function (num) {
        console.log("I am zi zhi xing fun " + num);
    }(100);

    // 4, return下面的语句也会进行预解释,但是return后面的语句不进行预解释
    console.log("--------------------------------");

    function fn3() {
        console.log(num3);
        return function () { }; // 这个function不会进行与解释
        var num3 = 330;         // 这里会进行预解释
    }
    fn3();
</script>

[js]js中4种无节操的预解释情况

标签:一个   code   ons   --   range   logs   语句   定义   情况   

原文地址:https://www.cnblogs.com/iiiiiher/p/8417035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!