Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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
C# javascript函数原型访问_C#_Javascript_Prototype - Fatal编程技术网

C# javascript函数原型访问

C# javascript函数原型访问,c#,javascript,prototype,C#,Javascript,Prototype,来自c族语言(我使用c#)使Javascript模型在某种程度上令人困惑 在c#中,你必须有一门课。然后实例化该类中的对象以使用它 在Javascript中没有类。这都是关于功能的。函数本身是一个对象,无需实例化即可直接使用 例如: function sayHi(name){ alert ("hiiiii " + name); } sayHi("John"); 因此,函数sayHi已经是一个对象,并且已经实例化并工作 现在,如果您想访问其属性原型,可以执行以下操作: function sa

来自c族语言(我使用c#)使Javascript模型在某种程度上令人困惑

在c#中,你必须有一门课。然后实例化该类中的对象以使用它

在Javascript中没有类。这都是关于功能的。函数本身是一个对象,无需实例化即可直接使用

例如:

function sayHi(name){
alert ("hiiiii  " + name);
}

sayHi("John");
因此,函数sayHi已经是一个对象,并且已经实例化并工作

现在,如果您想访问其属性原型,可以执行以下操作:

function sayHi(name){
 alert ("hiiiii  " + name);
 }

sayHi.prototype.nn = 20;
 sayHi("John");
alert(sayHi.nn);
但上述代码将无法提醒nn as 20;它将给出未定义的

但是,如果将sayHi函数设置为另一个变量的构造函数,则可以访问此原型属性,如下所示:

 function sayHi(name){
     alert ("hiiiii  " + name);
     }

    sayHi.prototype.nn = 20;
     sayHi("John");
    alert(sayHi.nn);

var hi2 = new sayHi("May");
alert(hi2.nn);
现在
alert(hi2.nn)
给你20;这意味着sayHi的原型在我们使用单词
new
将其分配给另一个变量之前是无法访问的

我的问题:

  • 这不是类似于c类实例化吗
  • 由于函数
    sayHi
    已经是
    函数
    对象;什么 是否使其
    原型
    无法访问,除非 构造函数是另一个变量的函数吗

我建议您浏览相关问题部分。我想你误解了
.prototype
的用法。也许下面的解释会有所帮助:直到今天,我读到的所有解释都是冗长而复杂的,无法独立存在,你必须使用另一个复杂的解释来澄清第一个解释。