- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
The JavaScript
函数Function Part1
关育新
Content
基本原理
作用域scope
闭包closure
1.1 这是函数吗?
function(a,b){
return a+b;
}
1.2 函数是
在定义时:
函数名称
函数的预期参数
函数体
函数的作用域
1.3 函数还是
在执行时
参数对象
caller
this
1.2.1 函数名称
function.name
(function(){
alert(arguments.callee.name)
})()
var car = function(){}
alert(car.name)
function bingo(){}
alert(bingo.name)
var car = function acar(){}
alert(car.name)
1.2.2 函数的预期参数
function add(a,b){
console.log(arguments.callee.length) //2
}
console.log(add.length) //2
add(1,2,3)
function.length
1.2 函数是
在定义时:
函数名称
函数的预期参数
函数体
函数的作用域
1.3.1 参数对象
arguments
function add(a,b){
console.log(arguments.length) //3
console.log(arguments[0]) //1
console.log(arguments.callee == add) //true
}
console.log(add.length) //2
add(1,2,3)
1.3.2 caller
function.caller
function x(value) {
console.log(x.caller)
}
function caller(){
x.call();
}
var anotherCaller=function(){
x();
}
x();
caller();
anotherCaller();
null
function caller(){ x.call(); }
function (){ x(); }
1.3 函数还是
在执行时
参数对象
caller
this
2.1作用域
符号被定义的区间
包括局部变量,全局变量,函数参数和闭包变量
总之,不用this就可以访问的变量都是作用域中的变量
作用域是链式的
var name = dog ,
function callName(name){
var name = cat
alert(name)
}
callName( bird ) // cat
2.2作用域定义
function mine(a,b){
if(ab){
var t=b-a
}
return t
}
mine(2,5) // 3
c:函数开始
c++:函数,块,类,命名空间
java:函数,块
js:函数内部
var name = dog
function callName(name){
alert(name)
var name = cat
alert(name)
}
callName()
2.3作用域查找
function factory() {
var name = dog;
var intro = function(){
alert(I am + name);
}
return intro;
}
function app(){
var name = cat;
var func = factory();
func();
}
app();
2.3作用域查找
“JS中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里.”
——JS权威指南
3.1闭包 closure
function x( value ) {
return function() {
return value;
};
}
var fooa = x(5);
var foob = x(8);
console.log(fooa());
console.log(foob());
/////output////
5
8
3.2闭包 定义
如果某个作用域内部有其他的作用域,则该作用域会被保留(即便该作用域内部的代码已经执行完成),直到内部的函数也被释放
3.3闭包的作用
function x( value ) {
return functio
您可能关注的文档
最近下载
- 浙美版六年级上册美术全册教案 .pdf
- T∕CIECCPA 026-2023 钢铁生产企业碳排放管理平台技术规范.pdf
- 2025年氢能电池在叉车替代方案的经济性分析报告.docx
- 2.2《我愿意是急流》课件(共39张PPT)中职语文高教版基础模块上册.pptx VIP
- 2025-2026学年小学英语一年级上册粤教版(2016)教学设计合集.docx
- 神奇的DLP3D打印技术在口腔齿科的应用.docx VIP
- 输尿管结石教学查房.pptx VIP
- 在线网课学习课堂《俄罗斯文化艺术赏析(北京联合大学 )》单元测试考核答案.pdf VIP
- 2025年8月份党支部支委会会议记录.docx VIP
- 金蝶食品饮料行业数字化转型白皮书.pdf VIP
原创力文档


文档评论(0)