您的位置:首页 > 移动开发

javascript函数对象的内部方法call(), apply(), bind()

2014-11-26 14:48 375 查看
今天完成javascript中函数的对象的最后一个知识点。 

函数对象的内部方法call(), apply(), bind()

相关阅读:


1.javascript 函数属性prototype详解

2.javascript函数对象的内部方法call(), apply(), bind()

3.javascript arguments属性详解

4.javascript this 对象详解



这三个函数都是指向函数本身的,call()和apply()的第一参数都是这个函数要执行的上下文对象,之后的参数是这个函数执行要传的参数,不同的地方时call是以枚举的方式传参,apply是以数组的形式传参,当然也可以传递arguments对象。bind()是把该函数绑定到指定的context上下文执行环境中,简单讲就是把该函数的this对象指向传到bind()中的参数context上,并返回一个函数实例。

简单的写个示例代码我们就可以了然了:

function sayHi(name,greeting){
var name = name||this.name,
greeting = greeting||this.greeting;
console.log("Hello "+name+","+greeting);
}

var name = "Terry",
greeting = "how are you?",
me = {name:"John",
greeting:"你好!"};
sayHi.call(this,name,greeting);
sayHi.call(this);
sayHi.apply(this,[name,greeting]);
sayHi.apply(me,[me.name,me.greeting]);
sayHi.call(me,me.name,me.greeting);
//bind()会返回函数实例,后面加()直接执行
sayHi.bind()();
sayHi.bind(me)();


 执行结果:





 javascrip函数详解到此结束,有没有讲到的,欢迎指出,相互学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript call apply bind