日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

何时使用构造函数,构造函数使用new关键字

發布時間:2025/4/16 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 何时使用构造函数,构造函数使用new关键字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于何時使用js的構造函數一般創建多個有相同屬性/方法的對象,就會去寫構造函數,就會去new 如果只是一個單獨的對象,直接使用字面量就行了var person = {name:'postbird',address:'earth',sayHello:function(){console.log('Hello,I am ' + this.name);} }; js構造函數創建對象加new問題/*new操作符做了些什么呢:1、創建一個新對象2、將構造函數的作用域賦給新對象(因此 this 就指向了這個新對象)3、執行構造函數中的代碼(為這個新對象添加屬性)4、返回新對象。 */function Obj(name){this.name = name; console.log(this); // 嚴格模式下是undefined 非嚴格模式下是window對象 } var a= Obj("name11"); // undefined a.name; //Uncaught TypeError: Cannot read property 'name' of undefined var b = new Obj('name22'); //Obj {name: "name22"} b.name; //name22//使用new操作符創建對象,并且構造函數沒有返回值或者返回為基本數據類型,那么返回該對象 function Obj(name){this.name = name; } var b = new Obj(); //Obj { name: undefined }function Obj(name){this.name = name;return 'chic'; } var b = new Obj(); //Obj {name: undefined}//使用new操作符創建對象,并且構造函數返回一個引用類型 function Obj02(name){this.name = name;return {}; } var a02 = Obj02("name11"); //Object {} a02.name; //undefined var b02 = new Obj02('name22'); //Object {} b02.name;//undefined/*** 總結:* 對于不加new來執行構造函數來說,返回值就是構造函數的執行結果* 對于加new關鍵字來執行構造函數而言,如果return的是基本數據類型,那么忽視掉該return值,* 對于加new關鍵字來執行構造函數而言,如果返回的是一個引用類型,那么返回該引用類型*/

?

如果你的對象有很多實例,或者涉及繼承或者構造函數傳參function Person(name,address){this.name = name;this.address = address; } Person.prototype.sayHello = function(){console.log('Hi I am ' + this.name); }var p1 = new Person('postbird','earth'); var p2 = new Person('ptbird','month'); 總的來說,構造函數應用比較廣泛,如果只是簡單地對象,使用字面量就夠了。構造函數在對象實例化、繼承等應用還是比較多的

?

轉載于:https://www.cnblogs.com/slightFly/p/11441122.html

總結

以上是生活随笔為你收集整理的何时使用构造函数,构造函数使用new关键字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。