js内置对象和基础数据类型

js内置对象(内置方法):

一  String() Number() Boolean()  Object() Function() Array() Regexp() Date() Error() Symbol()[es6 创建唯一值(不是对象,是一种数据类型)]  Global(不能直接访问)  Arguments仅在函数调用时由JS引擎创建  Math JSON

以下变量均将__proto__指针指向对应原型,内置对象的prototype对象

var a = '123'
var b = 123
var c = true
var d = {name:'xd'}
var e = function(){return 'xe'}
var f = [1,2,3]
var g = /^d/
var h = new Date('2020-11-11')

以下全部为true:
a.__proto__ === String.prototype
b.__proto__ === Number.prototype
c.__proto__ === Boolean.prototype
d.__proto__ === Object.prototype
e.__proto__ === Function.prototype
f.__proto__ === Array.prototype
g.__proto__ === RegExp.prototype
h.__proto__ === Date.prototype

Math,JSON是以对象形式存在的,无需new。它们的__proto__是Object.prototype

 

二 内置对象的__proto__原型全都指向Function.prototype

Number.__proto__ === Function.prototype // true
Boolean.__proto__ === Function.prototype // true
String.__proto__ === Function.prototype // true
Object.__proto__ === Function.prototype // true
Function.__proto__ === Function.prototype // true
Array.__proto__ === Function.prototype // true
RegExp.__proto__ === Function.prototype // true
Error.__proto__ === Function.prototype // true
Date.__proto__ === Function.prototype // true

除了利用Function()构造的变量通过typeof输出为function外其他均为object

三 __proto__原型链

a.__proto__.__proto__

输出:{constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}

a.__proto__ === String.prototype

  • a.__proto__.__proto__  === Object.prototype 即 String.prototype.__proto__ === Object.prototype成立,因为String.prototype本身就是个对象。

 

  • 如果想要结合一和二梳理:Object.prototype.constructor.__proto__ === Function.prototype

 

  • String.__proto__ === Function.prototype 那么 String.__proto__.__proto__呢?String.__proto__.__proto__ === Object.prototype

 

  • String.__proto__.__proto__.__proto__呢?String.__proto__.__proto__.__proto__ === null 到头了
  • String.__proto__.__proto__ === Object.prototype
  • a.__proto__.__proto__ === Object.prototype

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值