當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS 创建对象的七种方式
生活随笔
收集整理的這篇文章主要介紹了
JS 创建对象的七种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ?
1、工廠模式
function createPerson(name, job) {var o = new Object()o.name = nameo.job = jobo.sayName = function() {console.log(this.name)}return o } var person1 = createPerson('Jiang', 'student') var person2 = createPerson('X', 'Doctor')2、構造函數模式
function Person(name, job) {this.name = namethis.job = jobthis.sayName = function() {console.log(this.name)} } var person1 = new Person('Jiang', 'student') var person2 = new Person('X', 'Doctor')3、原型模式
function Person() { } Person.prototype = {name: 'jiang',job: 'student',sayName: function() {console.log(this.name)} } var person1 = new Person()4、組合使用構造函數模式和原型模式
function Person(name) {this.name = namethis.friends = ['Shelby', 'Court'] } Person.prototype.sayName = function() {console.log(this.name) } var person1 = new Person() var person2 = new Person() person1.friends.push('Van') console.log(person1.friends) //["Shelby", "Court", "Van"] console.log(person2.friends) // ["Shelby", "Court"] console.log(person1.friends === person2.friends) //false5、動態原型模式
function Person(name, job) {// 屬性this.name = namethis.job = job// 方法if(typeof this.sayName !== 'function') {Person.prototype.sayName = function() {console.log(this.name)}}} var person1 = new Person('Jiang', 'Student') person1.sayName()6、寄生構造函數模式
function Person(name, job) {var o = new Object()o.name = nameo.job = jobo.sayName = function() {console.log(this.name)}return o } var person1 = new Person('Jiang', 'student') person1.sayName()7、穩妥構造函數模式
function Person(name, job) {var o = new Object()o.name = nameo.job = jobo.sayName = function() {console.log(name)}return o } var person1 = Person('Jiang', 'student') person1.sayName()文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識
總結
以上是生活随笔為你收集整理的JS 创建对象的七种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 性能测试之LoadRunner11安装步
- 下一篇: 从零开始学_JavaScript_系列(