function createPerson(name, age, gender){ return { name: name, age: age, gender: gender };}缺點:不易于維護區分,不易于繼承的實現-> 構造器(constructor)常常將其稱為構造函數、構造方法// Pascal 命名規則(從第一個單詞起首字母大寫)function Person(name, age, gender){ this.name = name; this.age = age; ......}-> 在 js 中 對象 具有動態性 可以利用 對象.屬性 或 對象['屬性名'] 隨意的給對象增加成員 同時可以利用 delete 運算符刪除成員2、構造函數的執行過程-> 構造函數的執行過程(本質):利用對象的動態性給對象增加成員-> 將下列代碼的執行過程描述出來function Person(name){ this.name = name; this.sayHello = function(){};}var p = new Person('jim');1> 首先執行 new 運算符,創建對象,該對象中什么也沒有,是一個空對象(注意:空與空對象是兩個概念)2> 調用構造方法,將剛剛創建的對象引用傳遞給構造函數的this3> 依次執行構造函數中的代碼,如果出現 this.xxx = xxx 就是表示給剛剛創建的對象添加成員4> 構造函數執行結束,默認返回 this(可以不寫 return),將對象的引用賦值給 new 左邊的等號左邊的變量5> 此時構造函數執行結束,構造函數內部的變量銷毀
新聞熱點
疑難解答