JS-原型链

一 全局对象Window
1ECMAScript 规定全局对象叫做 global,但是浏览器把 window 作为全局对象(浏览器先存在的)
2 window 就是一个哈希表,有很多属性。window 的属性就是全局变量。
3 window下面的属性分两种:
一种是 ECMAScript 规定的(本节课重点)
global.parseInt
global.parseFloat
global.Number
global.String
global.Boolean
global.Object

一种是浏览器自己加的属性(只有chrome有,或者只有firefox有)
window.alert(弹框提示)
window.prompt(用户填写)
window.comfirm(用户确认)
window.console.log(让用户打印东西)
window.console.dir
window.document
window.document.createElement
window.document.getElementById

二 全局函数
1 简单类型与对象的区别

Number(’1’):将字符1变成数字。
Var n = new Number(1) : 接受一个数字1,并将1包装成对象,然后用对象的属性value of获取数值。
加new 就是代表生成对象
第一种是基本类型,第二种是对象的操作。
基本类型也可以调用属性,是因为有temp存在。

熟记各种API

三 公用的属性藏在哪里(原型链)

1_ _proto _ 属于隐藏的key,用 _proto _ _ 指向共有的属性

2 原型链就是利用_ proto _将节点串联起来。

3 原型就是代表了共有属性。

var o1 = {}

O1._ proto _ === object.prototype

var n1 = new Number(1)

n1._ proto _ === Nunber.prototype

n1._ proto . proto _ === Object.prototype

Prototype是浏览器准备好的,_ proto _是用来引用他的

4

String.prototype 是String的公有属性的引用
s._ proto _ 是String的公有属性的引用

5
var ___A____ = new B

A:类型是对象
B: 类型是函数

本节内容的核心
对象._ _ prototype_ _ === 函数.protype

函数.protype 这部分也是一个对象,因为有哈希。在JS中,要么是对象,要么不是对象。

Function需要特别注意

Function._ _ prototype_ _ === Function.protype

纠正:

视频中画图的时候认为 Object.proto === Object.prototype ,实际上应该是 Object.proto === Function.prototype,因为 Function 是 Object 的构造函数。

视频中画图时认为 Object.prototype.proto 指向自己,实际上应该是指向 null

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JS中原型链,说简单也简单。 首先明确: 函数(Function)才有prototype属性,对象(除Object...
    前小白阅读 3,950评论 0 9
  • 原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好。 不...
    晨光2016阅读 1,302评论 8 13
  • 大家好,我是IT修真院深圳分院第01期学员,一枚正直纯洁善良的web程序员。 今天给大家分享一下,修真院官网JS(...
    老菜菜阅读 2,559评论 0 1
  • 前言 在JavaScript中没"子类”和“父类”的概念,进一步地也没有“类”和“实例”的的区分。它靠一种看上去十...
    vzardlloo阅读 802评论 0 5
  • 越是知识渊博的人,越是觉得自己很无知。有一天,当你不再守着井底的那一块地方得意时,而是爬出井口,发现新的世界,发现...
    静朝晖阅读 321评论 0 3