javascript函数对象原型
为什么不调用原型函数。。当图像被点击时 Html代码:-- 如果我将html页面主体放入其中,它将起作用:--javascript函数对象原型,javascript,html,Javascript,Html,为什么不调用原型函数。。当图像被点击时 Html代码:-- 如果我将html页面主体放入其中,它将起作用:-- var a=新的myFunction(); document.getElementById(“demo”).innerHTML=a.k; 因为您是在构造函数上调用this.temp(),而不是在构造函数的实例上 您需要使用new创建一个实例 new myFunction('Info clicked') 请注意,这没有意义。如果希望在构造函数运行时执行操作,则应将方法分配给构造函数,
var a=新的myFunction();
document.getElementById(“demo”).innerHTML=a.k;
因为您是在构造函数上调用this.temp()
,而不是在构造函数的实例上
您需要使用new
创建一个实例
new myFunction('Info clicked')
请注意,这没有意义。如果希望在构造函数运行时执行操作,则应将方法分配给构造函数,而不是原型 如果您想坚持使用javascript定义,解决此问题所需做的就是将html代码上的属性
onClick
更改为newmyfunction(“…”)代码>
myFunction
是一个构造函数,需要使用new
调用它!似乎您对输入没有src属性感到困惑。@rafaelcastrocouto-console.log比alert好得多(如果您不使用IE)。它将记录对象,以便您可以检查它们(使用Firefox,我更喜欢Firebug)。有关构造函数和原型的解释,您可以看到以下答案:Thx Quentin。。。我不知道那件事!“在构造函数上”是什么意思?@Bergi-如果没有new
,this
不是构造函数,而new
也不是构造函数。那你是什么意思?通常,从构造函数中调用实例的方法是可以的。
function myFunction(l) {
this.k = "hello";
alert(this.k);
var t = this.temp(l);
alert(t);
}
myFunction.prototype.temp = function(a)
{
alert(a);
return 10;
}
<script>
var a = new myFunction();
document.getElementById("demo").innerHTML = a.k;
</script>
new myFunction('Info clicked')
<input type="image" src="http://..." onclick="new myFunction('Info clicked')"/>