javascript自定义对象以及建立对象的新类型(引用类型)

1. javascript自定义对象

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

建立对象--方法一

var obj=new Object()

该方法只须要使用new操做符后接Object构造函数java

建立对象--方法二

var obj={}

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

建立对象属性并赋值

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

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

建立对象的方法

也能够用这种方法为方法赋值,只是说赋的是函数而不是其余的类型值,以下:prototype

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

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

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;
    };
};

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

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能够共享他们io

相关文章
相关标签/搜索