Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 - Fatal编程技术网

Javascript 对象与正常函数

Javascript 对象与正常函数,javascript,Javascript,//代码开始 function Person(name) { this.name = name; console.log(this.name); //Output 1 console.log(this); //Output 2 } var p1 = new Person("Object_Shashank"); var p2 = Person("Function_Shashank"); //代码结束 p1: 输出1:对象_Shashank 输出2:人{n

//代码开始

function Person(name) {
    this.name = name;
    console.log(this.name); //Output 1    
    console.log(this); //Output 2    
}
var p1 = new Person("Object_Shashank");
var p2 = Person("Function_Shashank");
//代码结束

p1:

  • 输出1:对象_Shashank
  • 输出2:人{name:“Object_Shashank”}
p2:

  • 输出1:功能_Shashank
  • 输出2:Window{speechSynthesis:speechSynthesis,caches:CacheStorage,localStorage:Storage,sessionStorage:Storage,webkitStorageInfo:DeprecatedStorageInfo…}

谁能解释一下“p2:Output 2”

它打印的是
窗口
对象,因为
这个
引用了窗口对象

function Person(name){   
    this.name=name;    
    console.log(this.name); //Output 1    
    console.log(this);  //Output 2    <-- this `this` will point to the object it belongs to ,  which in this case of p1  is Object_Shashank while for p2 is window
}    
var p1=new Person("Object_Shashank");   
var p2=Person("Function_Shashank");  // Equivalent to p2 = window.Person("Function_Shashank")
职能人员(姓名){
this.name=name;
console.log(this.name);//输出1

console.log(this);//输出2
Person()
=
window.Person()
您忘记了
new
关键字之前的
Person
可能重复的谢谢。这很有帮助