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

Function-JS

时间:2015-09-26 01:37:44      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:

函数表达式可以包含名称,例:

var f=function factorial(x){if(x<=1)return 1;else return x*factorial(x-1);}

中,factorial这个函数对象的名称包含在函数作用域中,成为该函数的局部变量。

 

函数声明与函数字面量创建函数最大的不同是:函数声明会提前预加载,即函数声明语句被提前到外部脚本或外部函数作用域的顶部。同样以var 定义的变量也会预加载。

预加载:JS代码在运行前都要进行预加载,目的是事先构造运行环境例如全局环境、函数运行环境、构造作用域链,而环境和作用域的构造的核心内容就是指定好变量属于哪个范畴,因此在JS中变量的定义是在预加载完成而非在运行期间。

 

函数中的参数分别形参和实参,形参可以想像成保存在函数的内部,即与函数一起保存在堆中,而实参则保存在栈中,形参与实参的引用是对实参值的复制,如果实参是对像,则是对实参值即指向地址的复制。

 function testFtn(sNm,pObj){

        console.log(sNm);// 运行结果:new Name

        console.log(pObj.oName);// 运行结果:new obj

        sNm = "change name";

        pObj.oName = "change obj";

    }

    var sNm = "new Name";

    var pObj = {oName:"new obj"};

    testFtn(sNm,pObj);

    console.log(sNm);// 运行结果:new Name

    console.log(pObj.oName);// 运行结果:change obj
复制代码

 

 

函数包含在()内表示立即调用??如何调用??

1

Function-JS

标签:

原文地址:http://www.cnblogs.com/carrie-hong/p/4839851.html

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