什么是对象

原型链

1、普通对象和函数对象

在javascript中万物皆对象,对象分为普通对象和函数对象,可以通过typeof来判断对象是哪一种类型的对象。

1.1 普通对象

typeof obj === 'object'; // true

let obj1 = {};let obj2 = new Object();let obj3 = new Array();


console.log(typeof obj1); // object

console.log(typeof obj2); // object

console.log(typeof obj3); // object

1.2 函数对象

typeof obj === 'function'; // true

let f1 = new Function('a', 'b', 'return a + b');let f2 = function () {};function f3() {};


console.log(typeof f1); // function

console.log(typeof f2); // function

console.log(typeof f3); // function


console.log(typeof Function); // function

console.log(typeof Object); // function

console.log(typeof Array); // function


console.log(Function.constructor === Function); // true

console.log(Object.constructor === Function); // true

console.log(Array.constructor === Function); // true

注: 凡是通过new Function() 创建的对象都是函数对象,其他的都是普通对象。f1,f2,f3,实际上也是要通过 new Function()的方式进行创建。Function Object 也是通过 New Function()创建的。javascript大部分内置对象的构造器属于函数对象

Js中的对象可以分为三类:

1内置对象:列入数组,函数,日期

2宿主对象:即js解释器所嵌入的宿主环境(比如浏览器)定义的,列如HTMLElement等

3自定义对象:及程序员用代码定义的:对象的属性分为两类:

1自有属性:直接在对象中定义的属性

2继承属性:在对象的原型对象中定义是的属性

创建对象的两种方式:

1const obj = {a:1,b:2}

2 const obj = new Object();创建一个空对象,和{}一样

const obj = new Arary()创建一个空数组,和{}一样

const obj = new Date()创建一个表示当前时间的Date对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容