乐趣区

关于javascript:潜入理解原型继承

全局对象

windows 的属性

  1. 共有的属性(ECMA 规定)
  • parseInt、parseFloat、number、string、object、window.setTimeout(window 自带的 api)
  1. 公有的属性(浏览器的自定义)
  • alert、prompt、confirm、console.log()、document/Dom()w3c、history( 浏览器)Bom
简略类型和对象的区别

Number

var n = 1 
n.toString()
​
charAt() charCodeat() 取对象第几位数据
​
.trim() 去掉字符串的前后的空格 
.concat() 连贯两个字符串
.slice() 切取
var s = 'hello'  s.slice(0,3) 
>>>>>.  'hel'
.replace('','') 替换数据
.split  正则 

数据类型中的强记。Again

七种数据类新型,5 个 falsy 值 还有就是内存图 根底中的根底

专用属性的原型链

内存图的解析对于属性和对象的关系理解颇为重要

申明一个新的对象时候,零碎会自带的进行 proto 原型的继承

__proto__;; 暗藏属性 

js 对象的构造就是一棵树

var  a = {}
a.__proto__ === Object.prototype
 对象的原型继承就是来自对象类型自身的自带的属性
>>>> true
​
var n = new Number(1)
n.__proto__ === Number.prototype
n.__proto__.__proto__ === Object.prototype
​
根节点的 object.prototype 为 null

树的根节点是 object。而后跟节点上面的字节点对应的 string.prototype、number.prototype、…..

Js 引擎刷新的时候就会把原型继承树画好,把所有的对应的原型 api 绑定

申明一个对象时,也会把 Object 的 proto。绑定

Number.prototype  这是在 js 引擎刷新的时候援用 避免内存回收
n.__proto__   这是在申明新的对象的时候,进行援用,饭后对对象进行操作的
​
非凡的 Function 原型继承
函数__proto__ === Function.prototype
退出移动版