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 相关文章推荐
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
Aug 04 Javascript
JQuery从头学起第三讲
Jul 06 Javascript
JQuery学习笔记 nt-child的使用
Jan 17 Javascript
JS中自定义定时器让它在某一时刻执行
Sep 02 Javascript
JavaScript中的Primitive对象封装介绍
Dec 31 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
Feb 28 Javascript
jQuery插件kinMaxShow扩展效果用法实例
May 04 Javascript
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
JavaScript数组去重的多种方法(四种)
Sep 19 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
Node.js中出现未捕获异常的处理方法
Jun 29 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
php实现读取超大文件的方法
2014/07/28 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
js解决movebox移动问题
2016/03/29 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
jquery+html仿翻页相册功能
2016/12/20 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
python条件和循环的使用方法
2013/11/01 Python
Python yield使用方法示例
2013/12/04 Python
在Django的session中使用User对象的方法
2015/07/23 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
Python遍历numpy数组的实例
2018/04/04 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
学雷锋树新风演讲稿
2014/05/10 职场文书
土建施工员岗位职责
2014/07/16 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
班主任工作实习计划
2015/01/16 职场文书
行为规范主题班会
2015/08/13 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python