首页 > Web开发 > 详细

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

时间:2018-02-05 13:14:52      阅读:190      评论:0      收藏:0      [点我收藏+]

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种无节操的预解释情况

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!