1. 概述
通過構造函數創建對象, 有時忘記了寫new, 這時函數就會返回undefined
可以創建一個函數createXXX, 在內部封裝new。
function Student(props){ this.name = props.name || '匿名'; this.grade = props.grade || 1; } Student.prototype.hello = function(){ alert('Hello, '+ this.name + '!'); } function createStudent(props){ return new Student(props || {}); }
注意 , 如果函數沒有顯示的寫明 return xxx; 則返回undefined。
example
利用構造函數定義Cat,並讓所有的Cat對象有一個name屬性,並共享一個方法say(),返回字符串'Hello, xxx!':
'use strict'; function Cat(name) { this.name = name; } Cat.prototype.say = function(){ return ('Hello, ' + this.name + '!'); } // 測試: var kitty = new Cat('Kitty'); var doraemon = new Cat('哆啦A夢'); if (kitty && kitty.name === 'Kitty' && kitty.say && typeof kitty.say === 'function' && kitty.say() === 'Hello, Kitty!' && kitty.say === doraemon.say) { alert('測試通過!'); } else { alert('測試失敗!'); }
以上這篇js 創建對象 經典模式全面了解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。