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的简写

原文地址:https://www.cnblogs.com/549294286/p/3364472.html