最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Javascript创建自定义对象几种方式实例汇总

来源:动视网 责编:小采 时间:2020-11-27 20:15:00
文档

Javascript创建自定义对象几种方式实例汇总

Javascript创建自定义对象几种方式实例汇总:Object构造函数/对象字面量:抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性.var student = new Object(); student.name = "xiao ming"; student.age = 20; st
推荐度:
导读Javascript创建自定义对象几种方式实例汇总:Object构造函数/对象字面量:抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性.var student = new Object(); student.name = "xiao ming"; student.age = 20; st


Object构造函数/对象字面量:

抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性.

var student = new Object();
 student.name = "xiao ming";
 student.age = 20;
 student.getName = function () {
 alert(this.name);
 }

熟悉javascript 对象字面量的同学,可以换一种更好的写法,至少看上去更简洁。

 var student = {
 name: "xiao hong",
 age: 18,
 getName: function () {
 alert(this.name);
 }
 };

缺点:上面方法有个缺点就是,使用同一个接口创建很多类似的对象时,会产生大量重复的代码。这个应该很容易理解了,函数(方法或者类)一般是用来创建公共的方法,上面的对象创建过程,根本没有函数的影子,所以谈不上什么重用。

自定义类型的构造函数:

构造函数可以用来创建特定类型的对象。

 function Student(name,age) {
 this.name = name;
 this.age = age;
 this.sayName = function () {
 alert(this.name);
 }
 }
 var p3 = new Student("ming", 20);
 var p4 = new Student("hong", 18);
 alert(p3 instanceof Student); 
    alert(p3.sayName==p4.sayName); //false

缺点:自定义构造函数 的不足之处就是,每个对象都会重新创建自己的方法,其实这些方法功能是一样的(像 sayName),但是它们却不相同(p3.sayName 和p4.sayName不相等)。

构造函数与原型的组合:

 function Student(name, age, friends) {
 this.name = name;
 this.age = age;
 this.friends = friends;
 }
 Student.prototype = {
 constructor: Student,
 sayName: function () {
 alert(this.name);
 }
 };

总结:构造函数与原型的组合 是一种获得广泛认可的创建自定义类型的方法。 也是上面这些方法中的最优方法。

文档

Javascript创建自定义对象几种方式实例汇总

Javascript创建自定义对象几种方式实例汇总:Object构造函数/对象字面量:抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性.var student = new Object(); student.name = "xiao ming"; student.age = 20; st
推荐度:
标签: 添加 创建 方法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top