一、说起变量的提升呢,首先我们先看一段简单的代码
<!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小时内与您取得联系。