如何在Javascript中使用对象原型调用函数

时间:2015-07-11 10:29:16

标签: javascript prototype

我有一个疑问。这可以在Javascript中使用对象原型调用一个类中存在的一个函数/方法吗?如果可能,那么任何人都可以使下面的代码正确。

(function(){
    window.Peer=function(){
        var peer=this;
        peer.getMessage=function(){
            alert("hello!!! This is very good site.")
        }
    }
})();


<button type="button" id="btn">Click here</button>
<script>
document.getElementById('btn').onclick=function(){
    Peer.prototype.getMessage();
}

以上代码抛出错误。请给我一些解决此问题的想法。

2 个答案:

答案 0 :(得分:1)

(function(){
    window.Peer=function(){}
    window.Peer.prototype.getMessage=function(){
        alert("hello!!! This is very good site.")
    }
})();
<button type="button" id="btn">Click here</button>
document.getElementById('btn').onclick=function(){
    var peer = new Peer();
    peer.getMessage();
}

您可以将Peer视为对象

答案 1 :(得分:0)

我建议您首先阅读有关JavaScript Object

的更多信息

getMessage是附加peer变量的函数,该变量具有局部范围。除非您创建Peer

的对象,否则您无法从外部访问它
<html>
<head>
<script>

(function(){
    window.Peer=function(){
        var peer=this;
        peer.getMessage=function(){
            alert("hello!!! This is very good site.")
        };
    }
})();

window.onload=function(){
    document.getElementById('btn').onclick=function(){
        var peer = new Peer();
        peer.getMessage();
    };
}
    </script>
    </head>

<body>
    <button type="button" id="btn">Click here</button>    
</body>
</html>
相关问题