gpt4 book ai didi

Javascript 函数未添加到对象原型(prototype)中

转载 作者:行者123 更新时间:2023-11-28 20:28:18 25 4
gpt4 key购买 nike

我还有其他几个在代码中向 javascript 类添加原型(prototype)的实例,这些实例工作得很好,但我无法确切地弄清楚为什么我刚刚编写的部分无法工作。
有问题的部分是:

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' 

当我 try catch 错误时,它指出也没有 getSortedColumnsUrl(); 的方法。

用chrome开发工具查看代码,发现我添加的Settings原型(prototype)中确实没有任何东西,问题是我不知道为什么。

如有任何帮助,我们将不胜感激。

最佳答案

发生这种情况可能是因为您错误地订购了代码,

尝试先定义原型(prototype),然后再实例化 opt 对象。

Settings.prototype.initjQuerySelectors = function() {
this.data_store_selector = $('.data_store.display');
};

Settings.prototype.getSortedColumnsUrl = function() {
return this.data_store_selector.val();
};

function Settings() {
this.initjQuerySelectors();
this.sorted_columns_url = this.getSortedColumnsUrl();
}

var opt = new Settings;

编辑:

在扩展其原型(prototype)之前定义函数以获得完整的跨浏览器支持。 (感谢@Turnerj 的修复)

关于Javascript 函数未添加到对象原型(prototype)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16935666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com