【发布时间】:2014-10-19 19:40:18
【问题描述】:
我遇到了一些问题,a 有这样的功能:
var sayHi = function(string){
console.log(string + '' + this.name);
};
那我需要做:
sayHi = giveContext(sayHi,{"name":"moe"});
然后我做:
function giveContext(func,obj){
var fn = func;
fn.prototype.name = obj.name;
var myFn = new fn;
return myFn;
}
预期的行为会是:
sayHi('Hello') // ==> "Hello moe"
问题是 givecontext 中的“new”关键字返回一个对象而不是一个函数。 我只得到一个
undefined moe
Uncaught TypeError: object is not a function
我错过了什么?
【问题讨论】:
-
你为什么要分配
sayHi两次? -
对不起,我打错了,它不应该分配两次,已经编辑过
标签: javascript function object this