Pat*_*cow 2 javascript methods jquery prototype undefined
我有这个脚本:
var Tord = (function () {
Tord.prototype.getHeader = function () {
alert('test');
};
return Tord;
})();
$(document).ready(function() {
var tod = new Tord();
tod.getHeader();
});
Run Code Online (Sandbox Code Playgroud)
我得到一个错误Uncaught TypeError: Cannot read property 'prototype' of undefined行3
我不明白为什么?
这是我的js文件的加载方式:
<link rel="stylesheet" href="public/jquery.mobile/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="public/style.css" />
<script src="public/jquery-1.8.3.min.js"></script>
<script src="public/jquery.mobile/jquery.mobile-1.2.0.min.js"></script>
<script type="text/javascript" charset="utf-8" src="public/cordova-2.2.0.js"></script>
<script type="text/javascript" charset="utf-8" src="public/script.js"></script>
Run Code Online (Sandbox Code Playgroud)
script.js 有上面的脚本.
有任何想法吗?谢谢.
因为你已经展示了完整的代码.看,当这一行被调用时......
Tord.prototype.getHeader = function () {
Run Code Online (Sandbox Code Playgroud)
...托德是不确定的.但是当你设置它时,Tord应该是一个函数(因为它prototype应该是构造函数的一个属性) - 并且你根本不做任何努力使Tord成为一个函数.
我认为你想做的事情可以用这个来实现:
var Tord = (function () {
var Tord = function() {}; // to properly name the constructor
Tord.prototype.getHeader = function () {
alert('test');
};
return Tord;
})();
Run Code Online (Sandbox Code Playgroud)
有了这个,你可以根据一些外部逻辑定义不同的构造函数(但仍然定义它们一次).但是在代码的当前状态下,没有必要让它复杂化:这...
var Tord = function() {};
Tord.prototype.getHeader = function() { ... };
Run Code Online (Sandbox Code Playgroud)
......在我看来,应该足够了.
| 归档时间: |
|
| 查看次数: |
4001 次 |
| 最近记录: |