读书笔记:ES5-Object

引用类型

引用类型是一种数据结构,用于将数据和功能组织在一起,别名:类/对象定义
引用类型的值(对象)是引用类型的一个实例,通过new操作符后跟一个构造函数来创建(构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的)

Object类型

1
2
3
4
5
6
7
8
9
10
var obj = new Object();
//有效,但不推荐省略括号
var obj = new Object;

//还有字面量方式,属性名可以使用字符串,对于5属性名会自动变为字符串
var person = {
name: xiaohei,
'age':24,
5:true
};

⚠️对象字面量方法不会调用Object构造函数

Object是所有对象的基础,Object每个实例都具有的方法和属性如下:

object.constructor: 保存用于创建这个对象的函数,上面的例子就是Object()

object.hasOwnProperty(propertyName):给定的属性在此对象实例(非原型)中存在,propertyName参数是字符串形式

prototypeObj.isPrototypeOf(object):xx是不是object的原型

object.propertyIsEnumerable(propertyName):给定的属性是否可以for-in枚举,propertyName参数是字符串形式

toLocaleString():返回字符串表示,与执行环境的地区对应

toString():返回字符串表示

valueOf():返回对象的字符串、布尔值或数值的表示,通常与toString()返回值一样

对象字面量是像函数传递大量可选参数的首选方式:一般必需值使用命名参数,使用对象字面量封装多个可选参数

访问方式:点表示法/方括号表示法

1
2
3
4
5
6
//点表示法
obj.name
//方括号表示法
obj['name']属性名用字符串
obj['first name']属性名包含会导致错误的语法就用方括号表示法
obj[propertyName]可以是变量