java script 调用c_java script中的四种函数调用

df94c98329f1f280a0dcfd3e8978ac42.png

撰写此文源于最近在看Douglas Crockford的’JavaScript:The Good Parts’中文译本《Javascript语言精粹》时,发现一些自己不知道或者没有一下子理解的东西,拿出来细细研究并记录一下。

函数被作为很重要的一部分在书中做了详细的介绍和举例。感觉函数的四种调用方式和在不同调用方式上’this’绑定的不同是个重点也是难点。欢迎大家一起研究。

方法调用模式:

调用形式:通过’.'点表达式或[subscript]下标表达式调用一个对象中的方法。this 绑定:this被绑定到被调用方法所属的对象上。例子:

帮助

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24//创建myObject对象。它有一个value属性和一个increment方法。

//increment方法接收一个可选参数。如果参数不是数字,那么默认使用数字1。

var g='global';

var myObject={

value:0,

increment:function(inc){

document.writeln(this.g);

this.value+=typeof inc==='number'?inc:1;

//在方法被调用时this被绑定为myObject对象。

}

};

document.writeln(this.g);//global

//打印出全局变量g的值,说明this被绑定在全局对象上。

myObject.increment();

//在这里increment方法才被调用,this才被绑定到myObject对象,

这是特有“超级”迟绑定(very late binding)。

//这时打印出的this.g为undefined,因为myObject中没有g这个属性,

可以看出这时this被绑定到了myObject对象上。

document.writeln(myObject.value);//1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值