2013-10-08 77 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