JavaScript对象,了解一下

对象

基本数据类型
是一种复合值
对象也可以看做是属性的无序集合
还可以从一个称为圆形的对象继承属性
对象的方法通常是继承的属性
原型继承 prototypal inheritance 是核心特性
对象是可变的

三大相关的对象特性

  • 对象的原型protopype 指向另外一个对象,对象的属性继承自它的原型对象
  • 对象的类 是一个标识对象类型的字符串
  • 对象的扩展标记,指明了在ecma 5 是否可以向该对象添加新属性

内置对象

native object 是由ECMAScript 规范定义的对象或类 例如数组、函数都是内置对象

宿主对象

所嵌入的环境定义的,htmlElement对象是宿主对象,
js的宿主就是浏览器,浏览器的对象。就是宿主对象

自定义对象

自由属性

own property

继承属性

inherited property

创建对象的三种方法

一、

var nullObject   ={}     //空对象

二、

var d = new  Date();   //

new后面跟一个函数调用
这里的函数称作构造函数constructor
构造函数用以初始化一个新创建的对象。
JavaScript核心中的原始类型都包含内置构造函数


原型
每个JavaScript对象(null)除外,都和另一个对象相关联
另一个对象就是原型
每个对象都从原型继承属性

所有通过对对象直接量创建的对象都具有同一个原型对象
可以通过Object.prototype获得对原型对象的引用
new 和 构造函数调用 创建对象的原型就是构造函数的prototype属性的值

Object.prototype不继承任何属性
其他原型对象都是普通对象
普通对象都具有原型
所有的内置构造函数都具有一个继承Object的原型

Date 继承Object和Date 这一系列链接的原型对象就是所谓的原型链 prototype chain


三、
Object.create()方法
创建一个新对象,第一个参数是这个对象的原型

对象的三个属性

  • 原型prototype
  • 类class 是一个字符串,表示对象的类型信息,toString方法可以查询
  • 可扩展性extensible attribute 表示是否可以给对象添加新属性,所有内置对象和自定义对象都是显式可扩展的

序列化对象

将对象的状态转换为字符串
JSON.stringfy()
JSON.parse()

JSON JavaScript Object Notation

对象方法

toString()返回一个表示调用这个方法的对象的字符串
valueOf() 将对象转换为某种原始值而非字符串的时候才会调用它

猜你喜欢

转载自blog.csdn.net/java_sparrow/article/details/80589732