本文实例讲述了javascript面向对象创建对象的方式。分享给大家供大家参考,具体如下:
方式一:通过内置Object对象的方式创建 然后通过点语法,动态给对象创建属性,方法
var o1 = new Object();o1.name = 'Tom';o1.sing = function() { console.log('I am singing');}
方式二:通过字面量json形式创建对象
var o2 = { "name":"jackson", "age":"10", "say":function(){ console.log("say hi"); };};
方式三:通过构造函数创建
var o3 = function() { this.name = "Lucy", this.age = "10", this.say = function() { console.log("say hello"); }}
方式四:通过原型创建
var o4 = function() {}o4.prototype = { "name":"Taylor", "age":10, "say":function(){ console.log("say h1"); }}
方式五:通过原型和构造函数混合的形式创建(推荐使用这种,原因:尽量将方法定义为原型方法,原型方法避免了每次调用构造函数时对属性或方法的构造,节省空间,创建对象快)
var o5 = function() { this.name = 'James'; this.age = 10;}o5.prototype = { "say":function() { console.log("say hi"); }}
方式六:拷贝模式创建对象
// 先要有一个拷贝模块function extend(target,source){ for(var k in source){ target[k] = source[k]; } return target;};var o6 = { "name":"o6", "age":10}var o7 = { "say":function() { console.log('say hi'); }}// o6拷贝o7的方法,然后构建成一个新的对象var o8 = extend(o6,o7);o8.say(); // say hi
方式七:通过第三方库来创建对象
有 base2.js 和 simplejavascriptinheritance.js 来实现, 网上有资料。
希望本文所述对大家JavaScript程序设计有所帮助。
注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。