JavaScript 深入理解作用域
var i = 10;function a (){var b = 1;function c (){var d = 2;}c();alert(b);alert(d); alert(i);} a();//输出此段代码 b=1, d is not defined,i=10
1.作用域:程序中定义这个变量的有效区域。 变量d只在函数c中才会有结果,函数c就是变量d的作用域。2.局部变量:有作用域限制的就叫做局部变量。 函数a下面的变量b,函数c下面的变量d。3.全局变量:在最外围的一个对象,或者初始化变量时没有使用var声明。 函数i。window对象(window.onload等等)。4.作用域链:保证代码的执行过程,查询顺序:由内向外。 函数d→函数b→函数i5.JavaScript没有块级作用域。 如果需要拥有,将for语句块放入闭包中即可。 参考资料:https://www.imooc.com/video/9631/0 JavaScript高级程序设计
转载于:https://www.cnblogs.com/zxx1997/p/8053717.html
JavaScript 深入理解作用域相关推荐
- 关于JavaScript的词法作用域及变量提升的个人理解
关于JavaScript的作用域,最近听到一个名词:"词法作用域":以前没有听说过(读书少),记录一下对此的理解,加深印象. 词法作用域:在JavaScript中,一个函数的作用域 ...
- 深入理解JavaScript的变量作用域
在学习JavaScript的变量作用域之前,我们应当明确几点: a.JavaScript的变量作用域是基于其特有的作用域链的. b.JavaScript没有块级作用域. c.函数中声明的变量在整个函数 ...
- JavaScript的变量作用域深入理解(转)
在学习JavaScript的变量作用域之前,我们应当明确几点: a.JavaScript的变量作用域是基于其特有的作用域链的. b.JavaScript没有块级作用域. c.函数中声明的变量在整 ...
- 深入理解JavaScript的变量作用域(转)
在学习JavaScript的变量作用域之前,我们应当明确几点: a.JavaScript的变量作用域是基于其特有的作用域链的. b.JavaScript没有块级作用域. c.函数中声明的变量在整个函数 ...
- 深入理解JavaScript的变量作用域(转载Rain Man之作)
在学习JavaScript的变量作用域之前,我们应当明确几点: JavaScript的变量作用域是基于其特有的作用域链的. JavaScript没有块级作用域. 函数中声明的变量在整个函数中都有定义. ...
- 你不知道的JavaScript之词法作用域
词法作用域 总结一下作用域的定义:作用域就是一套规则,这套规则用于引擎如何进行查找变量以及在哪找到变量(可以看看之前我博客写的引擎和作用域之间的对话). 作用域分为词法作用域(也叫静态作用域)和动态作 ...
- JavaScript中的作用域,闭包和上下文
深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...
- javascript中关于作用域和闭包
列表项目 前言 学习了javascript已经很久了,关于这个语言中的这两个特性也是早已耳熟能详,但是在实际的使用的过程中或者是遇到相关的问题的时候,还是不能很好的解决. 因此我觉得很有必要深入的学习 ...
- javascript --- 再读作用域和闭包
执行环境: // 定义了变量或函数有权访问的其他数据,决定了它们各自的行为 // 每个执行环境都有一个与之关联的变量对象 // 执行环境中定义的所有变量和函数都保存在这个变量中 执行环境与函数: // ...
最新文章
- 梯度提升决策树(GBDT)与XGBoost、LightGBM
- 在解决方案中所使用 NuGet 管理软件包依赖
- k8s master 节点加入到可以调配node节点中的命令
- quartus将modelsim,synplify和quartus联合起来使用进行的FPGA设计(转)
- 1137. 第 N 个泰波那契数
- print\println\printf的区别
- 零基础学python难_0基础学python有多难
- CI框架PHP漫画小说二合一CMS
- android am start activity,adb shell am start -n package/.XXXactivity命令学习汇总
- MFC学习心得第一篇
- (一)PyQt5系列教程:使用PyQt5创建一个简单的demo
- 解决百度文库复制问题 非VIP也能复制文字
- android连接服务器代码实例,Android客户端连接服务器端,向服务器端发送请求HttpURLConnection(示例代码)...
- Python生成器教程
- matlab c1083,致命錯誤C1083:不能打開包含文件:'mexutils。沒有這樣的文件或目錄。...
- 一文让你学会PC软件升级,学不会过来打我
- 20款免费项目管理系统推荐
- VS2015编译适用于XP系统sp3的dll全过程-无需vs2015运行库
- Window系统 cd命令
- 图像的傅里叶变换 java_java使用傅里叶变换,得到变换之后的傅里叶频谱图像。...
热门文章
- History命令的显示带时间
- Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程
- Java基础教程【第三章:Java运算符】
- linux cpu监控方案,Linux性能优化和监控系列(二)分析CPU性能
- java main函数_Java经典面试题集锦
- mysql 分页拦截器_MyBatis 拦截器 (实现分页功能)
- PHP利用分组查询groupby,Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy...
- python调用dos命令_基于Python执行dos命令并获取输出的结果
- python中读取文本文件_Python三种读取txt文件方式
- java list 树_java list转换为树形