您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何用JavaScript創建對象”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何用JavaScript創建對象”吧!
對象: 特指自然世界中的某個事物 , 具有一些特征(屬性)和行為(方法),比如姚明這個對象有姓名,性別,身高,球號,球隊等等這些特征,并且會運球,投籃,跑步,吃飯等這些行為,那我們如何使用js創建對象呢?
第一種:字面量的方式創建實例對象
var YaoMing = { name:"YaoMing", age:36, gender:"男", eat:function(){ console.log('吃臭豆腐'); }, read:(){ console.log('瘋子在左天才在右'); } }
第二種:調用系統構造函數創建對象
var per2=new Object(); per2.name="大蛇丸"; per2.age=30; per2.sex="男"; per2.eat=function () { console.log("吃榴蓮"); }; per2.play=function () { console.log("這個小蛇真好玩"); };
這時候檢測per2是否是Object的實例,返回true
第三種:自定義構造函數創建對象
function Person(name, age, gender) { this.name = name; this.age = age; this.gender = gender; this.play = function () { console.log("天天打游戲"); }; } var per = new Person("雛田", 18, "女"); console.log(per instanceof Person);//返回true
現在思考第三種自定義構造函數創建對象,其內部實現過程是怎樣的??
拿上面的例子來說,創建對象 var per = new Person("雛田", 18, "女"); 實例化一個對象的同時對屬性age,name,gender也完成了初始化賦值。內部過程如下 :
* 1.開辟空間存儲對象
* 2.把this設置為當前的對象
* 3.設置屬性和方法的值
* 4.把this對象返回
第四種:工廠模式創建對象
<script> //工廠模式創建對象 function createObject(name,age) { var obj=new Object(); obj.name=name; obj.age=age; obj.sayHi=function () { console.log("您好"); }; return obj; } //自定義構造函數創建對象 function Person(name,age) { this.name=name; this.age=age; this.sayHi=function () { console.log("您好"); }; } </script>
工廠模式創建對象 : var per1=createObject("小明",20);
自定義構造函數創建對象 :var per2=new Person("小紅",20);
通過對比以上兩種創建對象的方式,我們可以得出以下結論:
工廠模式創建對象
1.函數名小寫,2.函數內部使用new關鍵字,3.并且有返回值,4.new之后的對象是當前的對象,5.直接調用函數就可以創建對象。
自定義構造函數創建對象
1.函數名首字母大寫,2.函數內部沒有使用new關鍵字,3.沒有返回值,4.this代表當前的對象,5.通過new的方式創建對象。
感謝各位的閱讀,以上就是“如何用JavaScript創建對象”的內容了,經過本文的學習后,相信大家對如何用JavaScript創建對象這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。