new 一個對象和不用new創建一個對象有啥區別?


new是new的一個類,不new是字面量

當用new的時候,函數內部的this是一個新的對象,

如果不用new, 也就是把它當成一個普通的函數執行,它的this是window

 1 function Me(name,age,job){
 2               this.name = name;
 3               this.age = age;
 4               this.job = job;
 5             }
 6             var mefun1 = new Me('fei','20','it');
 7             var mefun2 = Me('fei','20','it');
 8             console.log(mefun1);//Me
 9             console.log(mefun2);//undefined
10             console.log(this.mefun1);//Me
11             console.log(this.mefun2);//undefined

 

 1     function Person(age){
 2                 this.age = age;
 3                 console.log(this);//Window
 4                 return age;//如果此處返回的是基本數據類型,則不使用new時,直接返回name數據,使用時返回帶有name屬性的Person對象
 5             }
 6             Person.prototype.name = "web";
 7             var person1 = new Person("16");
 8             var person2 = Person("18");
 9             console.log(person1);//Person {age:"16"}
10             console.log(person1.name);//web
11             console.log(person2);//18

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM