对象

作者: 千_lazcy | 来源:发表于2018-11-15 15:12 被阅读0次

1.对象分为值类型和引用类型

  • 值类型(不是对象)
console.log(typeof x) //undefined
console.log(typeof 10) //number
console.log(typeof 'abc') //string
console.log(typeof true) //boolean
  • 引用类型(都是对象)
console.log(typeof function (){}) //function
console.log(typeof [1,'abc',true]) //object
console.log(typeof {a:10,b:5}) //object
console.log(typeof null) //object
console.log(typeof new Number(10)) //object
  • 类型的判断
    值类型判断用typeof
    引用类型判断用instanceof

2.什么是对象

一切引用类型都是对象,对象是若干属性的集合

3.函数和对象

对象都是通过函数创建的

function fn(){
  this.name='aa';
  this.year = '2018';
}
var fn1 = new fn();

var aa = {a:0,b:1};
//等价于
var aa = new Object();
aa.a=0;
aa.b=1;

var bb = [1,2];
//等价于
var bb = new Array();
bb[0] = 1;
bb[1] = 2;

console.log(typeof Object) //object
console.log(typeof Array)  //object

4.prototype(原型)

每个函数function都有一个prototype(原型)
每个对象都有一个proto(隐式原型,低版本浏览器不支持这个属性)

var obj = new Object();
//obj.__proto__ === Object.prototype,即每个对象都有一个__proto__,指向创建该对象的函数的prototype
//Object.prototype是一个特例,指向的是null

函数是一种对象,也有proto,指向的是Object.prototype

相关文章

网友评论

      本文标题:对象

      本文链接:https://www.haomeiwen.com/subject/imddfqtx.html