对象没有方法Javascript

Twi*_*zle 0 javascript prototype

我不知道为什么我会遇到这个问题.我之前在javascript中使用过原型并且它工作正常但是由于某种原因它在这里不起作用:

的test.html:

<script type="text/javascript">
        $(document).ready(function(){
        UserOptions("test");
    });
</script>
Run Code Online (Sandbox Code Playgroud)

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";
    ...}
Run Code Online (Sandbox Code Playgroud)

我一直得到错误对象没有方法'createBtns'

Mat*_*nen 11

你忘记了new关键字.现在它试图将你的构造函数称为常规函数,这将指向window或等等.

new UserOptions("Fred");
Run Code Online (Sandbox Code Playgroud)

  • @Twidizle:您可能希望在接受的问题上开始标记好的答案(分数旁边的绿色勾号).我发现你没有在之前的答案上标记任何已接受的答案. (3认同)