- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数定义.ppt
函数(又称为方法)用于对一段为了达到某种目的的代码进行归类,以使代码更具有条理。 函数的几种定义方式 function func1(参数){/*函数体*/} var func2=function(参数){/*函数体*/}; var func3=function func4(参数){/*函数体*/}; var func5=new Function(); 上述第一种方式是最常用的方式。 第二种是将一匿名函数赋给一个变量,调用方法:func2(参数); 第三种是将func4赋给变量func3,调用方法:func3(参数];或func4(参数); 第四种是声明func5为一个对象。 函数定义 再看看它们的区别: function func(){??????? //函数体?}?//等价于?var func=function(){??????? //函数体?} 但同样是定义函数,在用法上有一定的区别。 script //这样是正确的 func(1); function func(a){????? alert(a);} /script script//这样是错误的,会提示func未定义,主要是在调用func之前没有定义func(1);var func = function(a){????? alert(a);}//这样是正确的,在调用func之前有定义var func = function(a){????? alert(a);}func(1);/script用同样的方法可以去理解第三种定义方式。 第四种定义方式也是需要声明对象后才可以引用。 var func5 =new Function(var a = 2, b = 3; alert (a + b);); func5(); 函数作用域 js编程环境的顶级作用域是window对象下的范围,称为全局作用域,全局作用域中的变量称为全局变量。 js函数内的变量无法在函数外面访问,在函数内却可以访问函数外的变量,函数内的变量称为局部变量。 js函数可以嵌套,多个函数的层层嵌套构成了多个作用域的层层嵌套,这称为js的作用域链。 js作用域链的变量访问规则是:如果当前作用域内存在要访问的变量,则使用当前作用域的变量,否则到上一层作用域内寻找,直到全局作用域,如果找不到,则该变量为未声明。 注意,变量的声明在代码解析期完成,如果当前作用域的变量的声明和赋值语句写在变量访问语句后面,js函数会认为当前作用域已经存在要访问的变量不再向上级作用域查找,但是,由于变量的赋值发生的代码运行期,访问的到变量将是undefined. 如: var c=1000; function out(){ var a=1; var b=2; function fun(){ alert(a); //undefined var a=10; alert(a); //10 alert(b); //2 alert(c); //1000 } fun(); } out(); 闭包 通俗的讲,闭包就是能够读取其他函数内部变量的函数。 由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”,所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 function a() { var i = 0; function b() { alert(++i); } return b; } var c = a(); c(); c(); 这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值 (第一次为1)。这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函数a内的 函数b,就是说: 当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包,当外部函数调用完 毕后,这些变量在内存不会被 释放,因为闭包需要它们. 引用关系如图: 内置对象Math与Date Math: abs(x) 返回数字的绝对值? parseInt(x) 向上取整,有小数就整数部分加1 ceil(x) 返回 x 进行上舍入后的整数 floor(x) 返回 x 进行下舍入后的整数 max(x,y) 返回 x 和 y 之间较大的数? min(x,y) 返回 x 和 y 之间较小的数? pow(x,y) 返回 x^y 的
您可能关注的文档
最近下载
- 高职入学考试英语复习指导丛书—语法专项训练教学课件(第四章数词).pptx VIP
- 2025年秋统编版语文三年级上册全册教学课件(课标版).pptx
- 2025年最新人教版小学二年级数学上册教学计划及进度表(新课标,新教材).docx
- 小区监控系统设计方案.pptx VIP
- 丹方模拟器1.32(新增龙宫草药)(1).xlsx VIP
- 等一朵花开读书分享PPT.pptx VIP
- 2012国际严重脓毒症和脓毒症休克治疗指南(SSC)..doc VIP
- 【免费】小学一年级数学“凑十法”练习题100道 .pdf VIP
- 幼儿园装修工程实施方案(模板范文).docx
- 高中物理必修二学历案.docx VIP
文档评论(0)