全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js 作用域和变量详解

一、说起变量的提升呢,首先我们先看一段简单的代码

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v = 'hello world';
  alert(v);
 </script>
</body>
</html>

以上代码执行的结果是hello world

然后在看一段代码:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v='Hello World';
  (function(){
   alert(v);
  })();
 </script>
</body>
</html>

执行的结果和第一段代码一样hello world

好了,接下来在看这段代码:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v='Hello World';
  (function(){
   alert(v);
   var v='I love you';
   alert(v);
  })();
 </script>
</body>
</html>

以上代码执行的结果: 第一个弹出的是undefined;第二个结果是I love you。为什么会有这样的结果呢?

这就跟刚开始提到的变量提升有关系哦~~~下面我们来做下总结:

最后一段代码展现了2个知识点:

1、变量提升

2、作用域链

首先来说作用域链,js访问一个变量时会优先在该作用域内(访问时的那个作用域)寻找是否声明过这个变量,如果该变量已经存在,则直接使用它的值,否则会寻找该作用域的‘父作用域/上级作用域',依次类推,直到找到全局作用域为止。

关于变量提升是指:js在解析的时候总是会将var,function这类关键词的声明语句提升至作用域的最顶部(注意:这里只会提升声明的部分,赋值不会被提升)

所以,由此看来,上述的那段代码就等于:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <script>
  var v='Hello World';
  (function () {
   var v; //先将该作用域下的变量提升,但没有赋值
   alert(v); //所以此时是undefined
   var v='I love you';
   alert(v); //I love you
  })();
 </script>
</body>
</html>

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


# js  # 作用域  # 变量  # JavaScript中变量的作用域详解  # JS中作用域以及变量范围分析  # JavaScript变量作用域_动力节点Java学院整理  # javascript 的变量、作用域和内存问题  # 一起来了解JavaScript的变量作用域  # 关键词  # 的是  # 好了  # 结果是  # 第一个  # 是指  # 由此看来  # 这段  # 这就  # 只会  # 这类  # 第二个  # 弹出  # 刚开始  # 那段  # 来做  # 会将  # 则会  # 就等于  # 将该 


相关文章: 车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  青岛网站建设如何选择本地服务器?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  Android自定义listview布局实现上拉加载下拉刷新功能  测试制作网站有哪些,测试性取向的权威测试或者网站?  如何在自有机房高效搭建专业网站?  如何打造高效商业网站?建站目的决定转化率  免费网站制作appp,免费制作app哪个平台好?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  如何快速配置高效服务器建站软件?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何解决VPS建站LNMP环境配置常见问题?  西安专业网站制作公司有哪些,陕西省建行官方网站?  建站之星3.0如何解决常见操作问题?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何通过山东自助建站平台快速注册域名?  实现虚拟支付需哪些建站技术支撑?  如何用好域名打造高点击率的自主建站?  开心动漫网站制作软件下载,十分开心动画为何停播?  平台云上自主建站:模板化设计与智能工具打造高效网站  如何在服务器上三步完成建站并提升流量?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何用搬瓦工VPS快速搭建个人网站?  建站之星导航配置指南:自助建站与SEO优化全解析  建站DNS解析失败?如何正确配置域名服务器?  C++中引用和指针有什么区别?(代码说明)  如何用AWS免费套餐快速搭建高效网站?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在IIS管理器中快速创建并配置网站?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何通过服务器快速搭建网站?完整步骤解析  建站之星好吗?新手能否轻松上手建站?  建站之星如何防范黑客攻击与数据泄露?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  c# 服务器GC和工作站GC的区别和设置  宝塔面板如何快速创建新站点?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  建站主机如何选?高性价比方案全解析  如何在Ubuntu系统下快速搭建WordPress个人网站?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  网站制作免费,什么网站能看正片电影?  h5在线制作网站电脑版下载,h5网页制作软件?  如何选购建站域名与空间?自助平台全解析  网站制作说明怎么写,简述网页设计的流程并说明原因? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。