js中的面向对象核心
js是基于对象的编程语言,在后面的学习中我们通过一种模式使其转化成为面向对象的语言。js面向对象的核心是:
a.一切皆对象;
b.对象是由函数创建的;
c.对象是属性的无序集合。
一. 一切皆对象
对象是属性无序的集合。对象中访问属性有两种方法:点语法和[]语法。
js中的数据类型分两大类:基本数据类型和引用数据类型。基本数据类型包含:number,string,boolean,undefined,null;引用数据类型包含object,array,function。
1.1 基本数据是对象
str.length这句程序在执行的时候,str会瞬间自动创建成包装类型的对象,在此句语句执行完毕后,str又会自动转化为基本数据类型,所以我们没有办法在str身上添加属性。
1.2 引用数据是对象
(1)Object是对象
(2)Array是对象
(3)function是对象
instanceof 可以用来判断变量是否属于某一数据类型。
综上所述,在js中一切皆对象。
二. 对象都是由函数创建的
对象是否是由函数创建可以使用constructor属性进行验证。但是对于undefined和null是没有constructor这个属性的。