全网整合营销服务商

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

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

基于js的变量提升和函数提升(详解)

一、变量提升

在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。

上个简历的例子如:

console.log(global); // undefined
var global = 'global';
console.log(global); // global

function fn () {
console.log(a); // undefined
var a = 'aaa';
console.log(a); // aaa
}
fn();

之所以会是以上的打印结果,是由于js的变量提升,实际上上面的代码是按照以下来执行的:

var global; // 变量提升,全局作用域范围内,此时只是声明,并没有赋值
console.log(global); // undefined
global = 'global'; // 此时才赋值
console.log(global); // 打印出global

function fn () {
var a; // 变量提升,函数作用域范围内
console.log(a);
a = 'aaa';
console.log(a);
}
fn();

二、函数提升

js中创建函数有两种方式:函数声明式和函数字面量式。只有函数声明才存在函数提升!如:

console.log(f1); // function f1() {}  
console.log(f2); // undefined 
function f1() {}
var f2 = function() {}

只所以会有以上的打印结果,是由于js中的函数提升导致代码实际上是按照以下来执行的:

function f1() {} // 函数提升,整个代码块提升到文件的最开始<br>console.log(f1);  
console.log(f2);  
var f2 = function() {}

结语:基本上就是这样,要熟练掌握的话可以多做些练习,test:

console.log(f1()); 
console.log(f2);  
function f1() {console.log('aa')}
var f2 = function() {}
(function() {
console.log(a);
a = 'aaa';
var a = 'bbb';
console.log(a);
})();

以上这篇基于js的变量提升和函数提升(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# js  # 变量提升  # 函数提升  # 详解javascript中的变量提升和函数提升  # 浅谈JavaScript中变量和函数声明的提升  # JavaScript中变量提升和函数提升的详解  # JavaScript中变量提升与函数提升经典实例分析  # JavaScript中的变量提升和函数提升  # JS变量提升及函数提升实例解析  # JavaScript中变量提升和函数提升实例详解  # 了解javascript中变量及函数的提升  # js进阶语法之变量提升、函数提升以及参数的命名冲突问题解决  # 给大家  # 会有  # 是由于  # 希望能  # 这篇  # 有两种  # 上个  # 时才  # 即为  # 小编  # 多做  # 大家多多  # 到它  # 提升到  # pre  # span  # class  # console  # xhtml  # brush 


相关文章: Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何高效配置IIS服务器搭建网站?  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何挑选高效建站主机与优质域名?  建站主机服务器选购指南:轻量应用与VPS配置解析  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  建站VPS选购需注意哪些关键参数?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何用好域名打造高点击率的自主建站?  如何用腾讯建站主机快速创建免费网站?  制作宣传网站的软件,小红书可以宣传网站吗?  小型网站建站如何选择虚拟主机?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  制作网站外包平台,自动化接单网站有哪些?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何选择适合PHP云建站的开源框架?  html制作网站的步骤有哪些,iapp如何添加网页?  手机网站制作与建设方案,手机网站如何建设?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  如何基于云服务器快速搭建个人网站?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  简历在线制作网站免费版,如何创建个人简历?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  广州营销型建站服务商推荐:技术优势与SEO优化解析  常州自助建站费用包含哪些项目?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何通过多用户协作模板快速搭建高效企业网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  建站之星下载版如何获取与安装?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  家具网站制作软件,家具厂怎么跑业务?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  制作网站怎么制作,*游戏网站怎么搭建?  如何用PHP工具快速搭建高效网站?  如何挑选最适合建站的高性能VPS主机?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何获取免费开源的自助建站系统源码?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  如何做网站制作流程,*游戏网站怎么搭建?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何通过虚拟主机快速搭建个人网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何通过山东自助建站平台快速注册域名?  如何高效利用200m空间完成建站?  高端智能建站公司优选:品牌定制与SEO优化一站式服务 

您的项目需求

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