一、工廠模式創建對象 1. 常見創建對象方式 (1)對象字面量 var x1 = { "name":"小猴", age:22, sex:"女", dolt:function () { console.log("我是IT的小學生"); } } (2)new Object()創建對象 var x2 = ...
一、工廠模式創建對象
1. 常見創建對象方式
(1)對象字面量
var x1 = { "name":"小猴", age:22, sex:"女", dolt:function () { console.log("我是IT的小學生"); } }
(2)new Object()創建對象
var x2 = new Object(); console.log(typeof x2); x2.name = "好吧"; x2.age = 79; x2.sex = "男"; //這種方式創建的對象更具有規範性,節約記憶體 //缺點就是不能夠量產
(3)通過工廠函數來創建對象
function createPerson(name,age,sex){ var p = new Object(); p.name = name; p.age = age; p.sex = sex; p.dolt = function () { console.log("我會寫代碼"); } return p; } var x3 = createPerson("小廖",12,"男"); var x4 = createPerson("撒b",23,"女"); console.log(typeof x3); console.log(typeof x4);
上面的三段代碼運行結果如下:
二、自定義構造函數
function Person(name,age,sex) { this.name = name; this.age = age; this.sex = sex; this.dolt = function () { console.log("我是專家"); } } function Dog() { } var d1 = new Person("xiaoming",23,"男"); console.log(typeof d1);
三、new的由來
1.屬性:如果一個變數屬於一個對象所有,那麼該變數就可以稱之該對象的一個屬性,屬性一般是名詞,用於描述事物的特征。
2.方法:如果一個函數屬於一個對象所有,那麼該函數就可以稱之該對象的一個方法,方法是動詞,描述事物的行為和功能。
3.new關鍵字一般是和構造函數一起使用的;構造函數是一種特殊函數,構造函數用於創建一類對象,首字母要大寫,構造函數要和new一起使用才有意義。
new做了什麼?
(1)new先在記憶體中創建一個新的空對象;(2)new會讓this指向這個新的對象;(3)執行構造函數,給這個新對象屬性和方法;(4)返回這個新對象;
四、源碼:
D18_1_FactoryPattern.html
地址:
https://github.com/ruigege66/JavaScript/blob/master/D18_1_FactoryPattern.html
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人賬號,僅用於技術交流,後臺回覆“禮包”獲取Java大數據學習視頻禮包