Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript函数对象原型_Javascript_Html - Fatal编程技术网

javascript函数对象原型

javascript函数对象原型,javascript,html,Javascript,Html,为什么不调用原型函数。。当图像被点击时 Html代码:-- 如果我将html页面主体放入其中,它将起作用:-- var a=新的myFunction(); document.getElementById(“demo”).innerHTML=a.k; 因为您是在构造函数上调用this.temp(),而不是在构造函数的实例上 您需要使用new创建一个实例 new myFunction('Info clicked') 请注意,这没有意义。如果希望在构造函数运行时执行操作,则应将方法分配给构造函数,

为什么不调用原型函数。。当图像被点击时

Html代码:--

如果我将html页面主体放入其中,它将起作用:--


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')"/>