js原型与闭包 读书笔记
来源:互联网 发布:无影无踪软件 编辑:程序博客网 时间:2024/06/06 00:44
个人备忘而已。。。。
值类型的类型判断用typeof,引用类型的类型判断用instanceof。
一切(引用类型)都是对象,对象是属性的集合。
对象都是通过函数创建的。
instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。
Instanceof运算符的第一个变量是一个对象,暂时称为A;第二个变量一般是一个函数,暂时称为B。
Instanceof的判断队则是:沿着A的__proto__这条线来找,同时沿着B的prototype这条线来找,如果两条线能找到同一个引用,即同一个对象,那么就返回true。如果找到终点还未重合,则返回false。
var fn = function () { };console.log(fn instanceof Object); // true
每个函数都有一个属性叫做prototype。
这个prototype的属性值是一个对象(属性的集合),默认的只有一个叫做constructor的属性,指向这个函数本身.
function Fn() { } Fn.prototype.name = '王福朋'; Fn.prototype.getYear = function () { return 1988; }; var fn = new Fn(); console.log(fn.name); console.log(fn.getYear());
Fn是一个函数,fn对象是从Fn函数new出来的,这样fn对象就可以调用Fn.prototype中的属性。
因为每个对象都有一个隐藏的属性——“__proto__”,这个属性引用了创建这个对象的函数的prototype。即:fn.__proto__ === Fn.prototype
这里的"__proto__"成为“隐式原型”。
Object.prototype确实一个特例——它的__proto__指向的是null
对象的__proto__指向的是创建它的函数的prototype,就会出现:Object.__proto__ === Function.prototype
Function也是一个函数,函数是一种对象,也有__proto__属性。既然是函数,那么它一定是被Function创建。所以——Function是被自身创建的。所以它的__proto__指向了自身的Prototype
未完。。。。先去深入研究上图
- js原型与闭包 读书笔记
- js 闭包与原型
- JS原型与函数闭包
- js原型链与闭包
- js闭包与原型链
- JS原型和闭包
- js原型、闭包、apply()
- JS闭包&原型理解
- 原型与闭包分析
- JavaScript 原型与闭包
- 你不知道的JS读书笔记4—原型与原型链
- JavaScript原型与闭包总结
- JS 原型与原型链
- js原型与原型链
- JS原型与原型链
- js---原型与原型链
- jS原型与原型链
- JS原型与原型链
- 通过反编译深入理解Java String及intern
- PHP——AJAX 与 PHP
- Quake4之Fx
- android studio 修改应用版本号
- MFC之窗口控件更新重绘相关函数
- js原型与闭包 读书笔记
- centos7上dpdk编译安装
- 顺序环形队列的操作实现
- LaTeX 各种命令,符号
- UIActionSheet与HUD的window资源竞争
- Netty学习系列文章
- Python编程者共性错误
- 【转】Java 线程池学习
- (一)UI绘制流程-源码分析