• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > JS中的作用域链

JS中的作用域链

作者:Lemon-x 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Lemon-x通过本文主要向大家介绍了JS中的作用域链等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在js中数据的声明方式有两种:

1、用var声明,例如:var num = 10;

2、直接声明,例如:num = 10;

两种声明方式在某些情况下是有区别的:

var data = 10;
function fn01(){
  var data = 100;
  function fn02(){
    data = 1000;
    function fn03(){
      data = 10000;
    }
    fn03();
  }
  fn02();
}
fn01();
console.log(data);
</div>

此时data会是多少呢?

没错就是10

当在函数内使用var声明变量的时候这个变量就是局部变量,而当不使用var定义变量的时候这个变量就会是全局变量,当然这个全局变量也需要看定义的位置,这个全局变量会一直往上层寻找使用var定义的相同名称的变量,当寻找到时会替换其原来的变量,如果未找到则会自行定义一个全局变量;

var data = 10;
function fn01(){
  data = 100;
  function fn02(){
    data = 1000;
    function fn03(){
      data = 10000;
    }
    fn03();
  }
  fn02();
}
fn01();
console.log(data);
</div>

此时的data就是10000了,你学会了吗?

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11原生js仿淘宝网商品放大镜效果
  • 2017-05-11利用Angular+Angular-Ui实现分页(代码加简单)
  • 2017-05-11微信小程序 tabs选项卡效果的实现
  • 2017-05-11JS实现线性表的链式表示方法示例【经典数据结构】
  • 2017-05-11JavaScript日期对象(Date)基本用法示例
  • 2017-05-11js实现五星评价功能
  • 2017-05-11简单的渐变轮播插件
  • 2017-05-11基于jQuery实现瀑布流页面
  • 2017-05-11微信小程序 传值取值的几种方法总结
  • 2017-05-11Jquery树插件zTree实现菜单树

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解js中==与===的区别
    • Vuex简单入门
    • 详解node HTTP请求客户端 - Request
    • vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
    • jQuery布局组件EasyUI Layout使用方法详解
    • bootstrap日期控件问题(双日期、清空等问题解决)
    • jquery实现多次上传同一张图片
    • JavaScript实现星星等级评价功能
    • Bootstrap实现各种进度条样式详解
    • JS中如何实现Laravel的route函数详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有