function.apply(thisArg,argArray)

 1 Function.prototype.method = function(name, func) {
 2     if (!this.prototype[name]) {
 3         this.prototype[name] = func;
 4     }
 5 };
 6 
 7 Function.method('bind', function(that) {
 8     //返回一个函数,调用这个函数就像它是那个对象的方法一样。
 9     var method = this,
10         slice = Array.prototype.slice,
11         args = slice.apply(arguments, [1]);
12     return function() {
13         return method.apply(that, args.concat(slice.apply(arguments, [0])));
14     };
15 });
16 
17 var x = function() {
18         return this.value;
19     }.bind({
20         value: 666
21     });
22 
23 console.log(x());

 

posted @ 2012-07-18 12:37  小猩猩君  阅读(302)  评论(0编辑  收藏  举报