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 相关文章推荐
checkbox 复选框不能为空
Jul 11 Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 Javascript
谈一谈javascript闭包
Jan 28 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
javascript操作cookie
Jan 17 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
jQuery树插件zTree使用方法详解
May 02 jQuery
详解CommonJS和ES6模块循环加载处理的区别
Dec 26 Javascript
bootstrap与pagehelper实现分页效果
Dec 29 Javascript
javascript的this关键字详解
May 20 Javascript
Vue 修改网站图标的方法
Dec 31 Vue.js
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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
python中列表的含义及用法
2020/05/26 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
委托书模板
2014/04/04 职场文书
保护环境演讲稿
2014/05/10 职场文书
期中考试复习计划
2015/01/19 职场文书
预备党员个人总结
2015/02/14 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
西游记读书笔记
2015/06/25 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
Python绘制分类图的方法
2021/04/20 Python
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers