首页 > Web开发 > 详细

[妙味JS基础]第六课:作用域、JS预解析机制

时间:2014-03-05 11:58:43      阅读:445      评论:0      收藏:0      [点我收藏+]

知识点总结

  • 浏览器的解析方法
bubuko.com,布布扣
  script  全局变量,全局函数
        自上而下
    函数 
        由里到外

    "JS的解析器"1)“找一些东西”:var function 参数

        var a=未定义  =>所有的变量,在预解析时,赋一个值:未定义
        fn1 = function fn1(){alert(2)}  =>所有的函数,在预解析时,是整个函数块
        function fn1(n1) {}     =>这里的参数n1,相当于var n1 ,因此也是未定义

        在预解析时,遇到重名的:只留一个,var和函数重名,只留函数,函数重名,只留后面的一个,例如:
            var a 
            function a(){alert(1);}
            var a
            function a(){alert(2);}    =>预解析,a = function a(){alert(2);}
            var a

    2)“逐行解读代码”
        表达式:= + - * / % ++ -- ! 参数 ...
        表达式可以修改预解析的值!
bubuko.com,布布扣
  • 作用域的注意事项
bubuko.com,布布扣
  FF 不能对if ,for里面的函数进行预解析,例如:
      alert(fn1);
      if (true) {
        function fn1(){
        alert(123);
        }
      }

        FF  => fn1 is not defined
        其他浏览器 => function fn1(){
                    alert(123);
                    }

    尽量避免在for、if中定义变量或者函数。
bubuko.com,布布扣

[妙味JS基础]第六课:作用域、JS预解析机制,布布扣,bubuko.com

[妙味JS基础]第六课:作用域、JS预解析机制

原文:http://www.cnblogs.com/joya0411/p/3580929.html

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