JavaScript 作用域实例分析


Posted in Javascript onOctober 02, 2019

本文实例讲述了JavaScript 作用域。分享给大家供大家参考,具体如下:

JavaScript  作用域

1. JavaScript 以函数作为作用域

JavaScript: 以函数做为作用域

function func(){
  if(1==1){
    var name = 'xsk'
  }
  console.log(name);
}
func()

2. 函数作用域在函数未被调用之前,已经创建

JavaScript:函数作用域提前创建

function func(){
  if(1==1){
    var name = 'xsk'
  }
  console.log(name);
}

3. 函数的作用域在作用域链,并且也是在被调用之前创建

JavaScript:作用域链提前创建

示例一:

xo = "xsk";
function func(){
  var xo = "miy"
  function inner(){
    var xo = "nn"
    console.log(xo)
  }
  inner()
}
func()
// 输出 nn

示例二:

xo = "xsk";
function func(){
  var xo = "miy"
  function inner(){
    console.log(xo)
  }
  return inner;
}
var ret = func()
// 输出miy
// ret 相当于 inner()函数

示例三:

xo = "xsk";
function func(){
  var xo = "miy"
  function inner(){
    console.log(xo)
  }
  var xo = "tony"
  return inner;
}
var ret = func()
ret()
// 输出tony

:作用域嵌套作用域被称为作用域链。

:查找变量会优先在本地作用域找,没有在跳到下一级。

4. 函数内局部变量提前声明

JavaScript:函数局部变量提前声明

示例一:

function func(){
  console.log(xxoo);
}
func();
// 报错

示例二:

function func(){
  console.log(xxoo);
  var xxoo = 'xsk'
}
func();
// 输出 undefined
// 函数执行顺序,谁在前面谁执行

(1)、JavaScript 当创建一个函数时,会自动生动生成作用域链。

(2)、生成作用域的同时会找到所有的局部变量提前声明。(var 变量名)

(3)、为赋值的局部变量默认为undefined。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery Tools tooltip使用说明
Jul 14 Javascript
VS2008中使用JavaScript调用WebServices
Dec 18 Javascript
基于javascript实现随机颜色变化效果
Jan 14 Javascript
理解javascript异步编程
Jan 27 Javascript
Jquery $when done then的用法详解
May 20 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
Dec 26 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
详解Vue中组件的缓存
Apr 20 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
Sep 04 Javascript
Bootstrap FileInput实现图片上传功能
Jan 28 Javascript
JavaScript Dom 绑定事件操作实例详解
Oct 02 #Javascript
JavaScript 面向对象基础简单示例
Oct 02 #Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 #Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
Oct 02 #Javascript
基于iview-admin实现动态路由的示例代码
Oct 02 #Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 #Javascript
基于VUE的v-charts的曲线显示功能
Oct 01 #Javascript
You might like
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python之父谈Python的未来形式
2016/07/01 Python
Django实现快速分页的方法实例
2017/10/22 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
python dataframe NaN处理方式
2019/12/26 Python
python实现UDP协议下的文件传输
2020/03/20 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
婚庆司仪主持词
2014/03/15 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
运动会口号8字
2014/06/07 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
维稳工作承诺书
2015/01/20 职场文书
社区服务活动报告
2015/02/05 职场文书
Mybatis是这样防止sql注入的
2021/12/06 Java/Android
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
JavaScript实现简单的音乐播放器
2022/08/14 Javascript