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