0
我有幾個其他的實例添加原型到javascript代碼中的類,它工作得很好,我無法確切地說明爲什麼我剛纔寫的部分拒絕工作。
有問題的部分是:Javascript功能沒有被添加到對象原型
var opt = new Settings;
function Settings() {
this.initjQuerySelectors();
this.sorted_columns_url = this.getSortedColumnsUrl();
}
Settings.prototype.initjQuerySelectors = function() {
this.data_store_selector = $('.data_store.display');
};
Settings.prototype.getSortedColumnsUrl = function() {
return this.data_store_selector.val();
};
,併產生以下錯誤:
Uncaught TypeError: Object #<Settings> has no method 'initjQuerySelectors'
,當我試圖捕獲錯誤,它說,另外,也沒有方法getSortedColumnsUrl();
無論是。
用chrome開發工具來查看代碼,它顯示我添加的Settings原型中確實沒有任何東西,問題是我找不到原因。
任何幫助,將不勝感激。
這工作,謝謝。說實話,在我定義它之前,我沒有把它看作至少一次在我的代碼中啓動一個對象,然後定義原型 - 並且它一切正常。任何想法可能會導致不一致的行爲? – sjmarshy
@sjmarshy:它是一致的。你只能在定義後調用一個函數。請記住,掛起的命名函數 – zerkms
我在Firefox中試過,它不起作用。你需要在設置原型之前聲明'Settings'。 http://jsfiddle.net/YJdks/ vs http://jsfiddle.net/YJdks/1/ – Turnerj