博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何理解作用域
阅读量:4450 次
发布时间:2019-06-07

本文共 1049 字,大约阅读时间需要 3 分钟。

  1. JS没有块级作用域
  2. 只有全局作用域喝函数

作用域分为一下几种

  1. 自由变量
  2. 作用域链,即自由变量的查找
  3. 闭包的俩个场景

自由变量

1 var names = 'zhangsan'2 console.log(names) // zhangsan3 var num = 1004 function t(){5     var num = 2006     console.log(num) //2007 }8 t()

作用域链,即自由变量的查找

// 作用域链(一个变量不断的往父级找)var sd = 22function fg() {    var s2 = 666    // 当前作用域没有定义的变量,即自由变量    console.log(s2) // 666    console.log(sd) // 22}fg()var w = 123function w1() {    var v = 568    function w2() {        var c = 300        // 没有的会不断像父级找        console.log(w) // 123        console.log(v) // 568        console.log(c) // 300    }    w2()}w1()

闭包的俩个场景

1 // 闭包 2 // 1.函数作为返回值 3 // 2、函数作为参数来传递 4  5 function ss (){ 6     var e = 888 7     return function(){ 8         console.log(e)  //888  // 自由变量,会在他的父作用域去找即ss函数 9     }10 }11 12 var s1 = ss()13 var e = 99914 s1()15 16 function a1(){17     var w = 54318     return function(){19         console.log(w)  //543 //自由变量,会在他的父作用域去找即ss函数20     }21 }22 var z = a1()23 function a2(parm){24     var w = 90025     parm()26 }27 a2(z)

 

转载于:https://www.cnblogs.com/chailuG/p/11260102.html

你可能感兴趣的文章
二维码图片生成
查看>>
在做操作系统实验的一些疑问
查看>>
Log4J日志配置详解
查看>>
NameNode 与 SecondaryNameNode 的工作机制
查看>>
Code obfuscation
查看>>
大厂资深面试官 带你破解Android高级面试
查看>>
node.js系列(实例):原生node.js实现接收前台post请求提交数据
查看>>
SignalR主动通知订阅者示例
查看>>
golang的表格驱动测试
查看>>
用python实现矩阵转置
查看>>
linux 小技巧(磁盘空间搜索)
查看>>
iOS开发——捕获崩溃信息
查看>>
(for 循环)编程找出四位整数 abcd 中满足 (ab+cd)(ab+cd)=abcd 的数
查看>>
js 基础
查看>>
tomcat使用spring-loaded实现应用热部署
查看>>
boost1.53中的lock-free
查看>>
链表_leetcode203
查看>>
hdu4746:2013杭州网络赛I 莫比乌斯反演
查看>>
ubuntu linux下火狐跨版本升级方法详解(也同样适合linux下安装火狐中国版)
查看>>
基于ajax 的 几个例子 session ,ajax 实现登录,验证码 ,实现ajax表单展示
查看>>