我正在从事一个涉及从其他函数构造函数的项目。我有写作课程来简化事情的想法,但是我没有使用__proto__
就无法使用它。自定义函数类
这里基本上是我的理想是什么。
function MyFunction() {
// ...
}
var myFn = new MyFunction();
myFn(); // executes without error
myFn instanceof MyFunction; // returns true
下面的代码不会只是使用__proto__
function MyFunction() {
var fn = function() { return 'hello'; };
fn.__proto__ = this;
return fn;
}
var myFn = new MyFunction();
alert(myFn()); // hello
alert(myFn instanceof MyFunction); // true
这里的东西我一直在使用valueOf
function MyFunction() {
this.fn = function() { return 'hello'; };
this.valueOf = function() { return this.fn; };
}
var myFn = new MyFunction();
alert(myFn instanceof MyFunction); // true
alert(myFn.valueOf()()); // hello
alert(myFn()); // error
试着和这里的其他东西延伸到包含的所有属性的功能MyFunction
。我不想使用__proto__
,因为它不是标准的。此外,这是一个怪胎的想法,我真的想让它工作,但如果这是不可能的,我会活下去。但我想我的问题是,我想做什么?
无赖,我也听到了某种形式的'__proto__'将在未来ES正式加入了。我想我只是在我的时间之前:(噢,好吧。 – SpaceFace