分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

长话短说 之 js的原型和闭包

发布时间:2023-09-06 01:06责任编辑:董明明关键词:js闭包

原型链:undefined, number, string, boolean 属于简单的值类型,函数、数组、对象、null、new obj()都是引用类型。检测值类型用typeof x 即可,检测引用类型obj instanceof object 是否为true。

那你发现function 和 object 有什么区别呢? 大名鼎鼎的jquery 竟然是个function  typeof $=>function 。其实对象是通过函数创建的。

每个函数都有一个原型prototype,每个对象都有一个__proto__,所谓的原型链就是:访问一个对象的属性时,__proto__属性中查找,如果没有,再沿着__proto__这条链向上找到prototype,这就是原型链。

fn.__proto__===Fn.prototype;

this ,取何值,是在函数真正被调用执行的时候确定的。可以记住三种情况:

  1. 在全局函数中this等于window
  2. 当函数被当做某个对象的方法调用时,this等于那个对象
  3. 匿名函数的执行环境具有全局性,this通常指向window

自由变量,要到创建这个函数的那个作用域中取值。

闭包,它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。好好理解这句话,闭包的原理是不是恍然大悟。应用情况无非就是两种:

函数作为返回值;函数作为参数传递。

长话短说 之 js的原型和闭包

原文地址:http://www.cnblogs.com/caolidan/p/7429436.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved