2013-10-08 78 views
0

我有以下情形传递从基本功能PARAMS到原型功能在IE

function foo(options){ 
    this._initOptions(options); 
} 
foo.prototype._initOptions= function(options){ 
    console.log('set some options'); 
} 

现在所有的浏览器这一伟大工程。但由于某些原因而Internet Explorer返回

SCRIPT438:对象不支持属性或方法“_initOptions”

如何得到它的工作任何想法?

+0

你是如何调用构造函数? – Bergi

+0

var bar = new foo({id:123}); – user584569

+0

这很奇怪。那是你的整个代码吗?你使用什么IE版本? – Bergi

回答

1

你应该声明原型的功能是这样的:

function foo (options) { 
    this._initOptions(options); 
}; 

foo.prototype._initOptions = function (options) { 
    console.log('set some options'); 
}; 
+0

其实它就是这样。我只是把它写下来,没有注意到这个错误 – user584569

+0

你怎么称呼你的foo()类?你需要创建一个新的实例,像新的foo(options);而不是直接调用没有新关键字的foo()。 –

+0

var bar = new foo({id:1});将是我称之为的方式。但在IE上,原型函数没有链接到基本foo函数 – user584569