1. javascript自定义对象

有一定js基础的童鞋都知道怎么创造对象,在这篇文章中我想详细的阐述一下。

创建对象--方法一

var obj=new Object()

该方法只需要使用new操作符后接Object构造函数

创建对象--方法二

var obj={}

js提供了使用字面量语法来创建对象:一对花括号{},字面量语法比较简洁,不需要new一个对象。

创建对象属性并赋值

obj.first="a";
obj.second="b";

缺点:js并不会告知属性名是否有以外的拼写错误,而只能用错误的属性名创建一个新的属性名,这样就会导致难以追踪存在的错误,所以创建属性的时候要谨慎写错

创建对象的方法

也可以用这种方法为方法赋值,只是说赋的是函数而不是其他的类型值,如下:

obj.eat=function(){
console.log("eating");
}

function没有名称,称为匿名函数,就本身而言,匿名函数是一种错误的语法,除非将它赋给一个变量
创建obj对象的完整代码:

var obj={};
obj.first="a";
obj.second="b";
obj.eat=function(){
console.log("eating");
}

上述代码用了4条语句完成一个完整的对象,如果用字面量符号法来定义整个对象,可以将一条语句缩减为一条语句。

var obj={
    first:"a",
    second:"b",
    eat:function(){
    return this.first+""+this.second;
    };
};

上述代码采用属性,冒号,值的方式定义属性和方法,注意使用逗号来分隔各个属性和方法的。

2. 创建对象的新类型(引用类型)

引用类型由三部分组成

  • 构造函数
  • 方法定义
  • 属性

定义引用类型

首先要创建构造函数,如下:

function person(first,second){
    this.first=first;
    this.second=second;
    this.prototype.eat=function(){
        console.log("eating");
    }
}

this指代的就是person, 每个对象都有prototype属性,但该属性只对构造函数有用,可以将person.prototype看成person对象的实际原型,赋给person.prototype的任何属性和方法对于person对象都可用,person1和person2可以共享他们


INT2MAIN
30 声望2 粉丝