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 相关文章推荐
JS继承 笔记
Jul 13 Javascript
THREE.JS入门教程(3)着色器-下
Jan 24 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
Node.js模块封装及使用方法
Mar 06 Javascript
JavaScript函数柯里化原理与用法分析
Mar 31 Javascript
JS实现的文字间歇循环滚动效果完整示例
Feb 13 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
vue.js的简单自动求和计算实例
Nov 08 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
Dec 10 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
加速XP搜索功能堪比vista
2007/03/22 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
Vue的Options用法说明
2020/08/14 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
基于python实现复制文件并重命名
2020/09/16 Python
纽约手袋品牌:KARA
2018/03/18 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
合伙经营协议书
2014/04/18 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
培训通知
2015/04/17 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python