js设计模式笔记

                         一  基本javascript

   javascript 是弱类型语言。定义变量时不需要声明其类型。

   javascript类型:

        原始类型:数值类型,布尔型,字符串型。

   对象类型、包含可执行代码的函数类型.

         特殊的原始类型:空类型、undefined类型。

  

  JS 中 函数是一等公民。可存放变量里、作参数、作返回值、可动态构造。

 

  JS 作用域:js是函数作用域,只要在函数内部定义的变量,整个函数都可见,不论先后。即所有的变量都在函数顶部产生了变量声明。

  作用域链:   每一段JS代码,都有与之相关联的作用域链(scope chain) ,js对变量函数的解析是沿其左右域查找的。

   JS全局代码的作用域链会是如下。指向全局对象

 

当定义函数的时候,会把函数加入到当前作用域链中。

 

 

定义嵌套函数,也会把嵌套函数加入在作用域链中

 

定义函数的时候,会保存这个函数的作用域链。函数调用的时候,会把函数的变量加入到作用域链中。形成调用域链列表。

嵌套函数的调用会更不一样,每次作用域链都不相同。

 

 

匿名函数:function(){}创建没有名字的函数

立即执行的函数:(function()

        { var a=10;alert(a*10); } ) ();

传参数:   ( function(a,b)

    {alert(a*b);} )(10,5);

   匿名函数的一个重要用途是创建闭包。闭包是一个受保护的变量空间,由内嵌函数生成。

   javascript具有函数作用域,函数外部不能访问内部变量。

  javascript的作用域具备词法性质。即变量运行在它定义的作用域中,而不是调用它的作用域中。

     var globv 

(function (){

     var a=10;

  var b=20;

    globv =function(){

                  return a*b;}

})();

globv();

posted @ 2014-09-19 10:54  坚硬的鸡蛋  阅读(175)  评论(0编辑  收藏  举报