我不知道为什么我会遇到这个问题。我之前在javascript中使用过原型并且它工作正常,但由于某种原因它在这里不起作用:
的test.html:
<script type="text/javascript">
$(document).ready(function(){
UserOptions("test");
});
</script>
UserOptions.js:
function UserOptions(username){
...
var userOptions = document.createElement("div");
userOptions.className = "userOptions";
**this.createBtns(userOptions);**
userContainer.appendChild(userOptions);
contentCenter.appendChild(userContainer);
contentCenter.appendChild(br);
BuddyList();
}
UserOptions.prototype = {
createBtns:function(parent){
var self = this;
/* Add Buddy Button */
var addBtnContainer = document.createElement("div");
addBtnContinaer.className = "addBtnContainer";
...}
我一直收到错误对象没有方法'createBtns'
答案 0 :(得分:11)
您忘记了new
关键字。现在它试图将你的构造函数称为常规函数,这将指向window
或其他任何东西。
new UserOptions("Fred");