天天看点

javascript对象

JavaScript是一种原型式(prototype-style)的OO语言

没有类的概念,所有的一切都派生自现有对象的一个副本

JavaScript数据类型:

1、简单类型:数字,字符串,布尔值,null值,undefined值

    数字,字符串,布尔值“貌似”对象,因为它们拥有方法,但它们是不可变的

2、其它都是对象:可变的键控集合。包括数组,函数,正则表达式等

对象:

对象是属性的容器,其中每个属性都拥有名字和值。

    属性的名字:可以是包括空字符串在内的任意字符串

    属性的值:除undefined值之外的任何值

对象是无类别的(class-free),对新属性和的名字和值没有约束。

对象合适收集管理数据

JavaScript的2种对象类型:

1、Function对象

    两个子类别:

    1)Function实例,如alert(),可以使用参数来调用

    2)作为构造函数的Function,必须通过new操作符进行实例化

2、Object对象

继承:

JavaScript包括一个原型链特征,允许对象继承另一对象的属性,继承是通过从一个对象原型向另一个对象原型复制方法而实现

一、对象字面量,{}部分是对象字面量

var flight={

    airline:"jsadf";

    number:815;

    arrival:{

        time:"2011-1-17";

        city:"Los Angeles";

    }

};

二、检索

var status = flight.status || "Unknown" ;        // 用 || 运算符充当默认值

用&&运算符来避免  尝试检索一个undefined值的属性 导致的TypeError异常

flight.equipment && flight.equipment.model    //flight.equipment可能为undefined

三、更新

对象中的值可以通过赋值来更新

四、引用

对象通过引用传递,永远不会被拷贝

五、原型

每个对象都连接到一个原型对象,并且它可以从中继承属性

所以通过字面量创建的对象都连接到Object.prototype这个JavaScript中的标准的对象

原型关系是一种动态的关系,如果我们添加一个新的属性到原型中,该属性会立即对所有基于该原型创建的对象可见。    !

六、反射

typeof操作符对确定属性的类型很有帮助

hasOwnProperty方法验证对象是否拥有独有的属性

七、枚举

for  in  语句可以遍历一个对象中的所以属性

八、删除

delete操作符删除对象的属性

九、减少全局变量污染

JavaScript的内置对象:

1、Object:通用基础对象,用来创建简单的静态对象

2、Function:是被所有使用参数的对象复制的对象,也是在脚本中定义函数时所创建的对象

3、Array:一种特殊的属性和方法的集合

4、String,Boolean,Number:字符串,布尔值,数字

5、Math,Date,RegExp以及其它内置对象

所有内置对象都可以通过new关键字或者其他特殊的语法创建

{}花括号:是Object的简写

 [ ] 中括号:是Array的简写

继续阅读