深入理解js的变量提升和函数提升
来源:互联网 发布:进存销软件哪些免费 编辑:程序博客网 时间:2024/06/05 14:09
一、变量提升
在ES6中提出了块级作用域,用var声明的变量,起作用域应为对整个块都起作用,所以会跑偏;而且使用var声明的变量会出现“变量提升”现象。
那么什么是变量提升呢?用以下代码直观感受一下:
其执行顺序应为:
二、函数提升
js中创建函数有两种方式:函数声明式和函数字面量式。只有函数声明才存在函数提升!如:
1
2
3
4
console.log(f1);
// function f1() {}
console.log(f2);
// undefined
function
f1() {}
var
f2 =
function
() {}
只所以会有以上的打印结果,是由于js中的函数提升导致代码实际上是按照以下来执行的:
1
2
3
function
f1() {}
// 函数提升,整个代码块提升到文件的最开始<br> console.log(f1);
console.log(f2);
var
f2 =
function
() {}
实例:
function Text(n){
console.log(n);
var n=2;
function n(){
}
console.log(n)
}
Text(1)
执行顺序应为:
var n
function n(){
}
console.log(n);
n=2;
console.log(n)
阅读全文
0 0
- 深入理解js的变量提升和函数提升
- 深入理解js的变量提升和函数提升
- 深入理解js的变量提升和函数提升
- js的变量提升和函数提升
- js的变量提升和函数提升
- 深入理解变量声明提升和函数声明提升
- 深入理解变量声明提升和函数声明提升
- 深入理解变量声明提升和函数声明提升
- 深入理解变量声明提升和函数声明提升
- js中的变量提升和函数提升
- js变量提升 和函数提升
- js变量提升和函数提升
- JS变量和函数提升
- 变量提升和函数提升
- js 变量、函数提升
- Js 变量声明提升和函数声明提升
- JS函数声明提升和变量声明提升
- JS中的函数声明提升和变量声明提升
- c作业
- 关于Logstash和snmp-trap事件
- 为工程添加异常捕获记录(本地app-debug.arr包)
- C# 生成二维码,解析二维码
- Elasticsearch 优化建议
- 深入理解js的变量提升和函数提升
- oracle sql 关联操作
- 渣打银行、阿联酋RAK银行分别借助瑞波技术实现对印度的实时跨境支付
- 菲律宾监管机构考虑发布比特币交易所和ICO监管规则
- 【免费报名】ConsenSys开发者工具核心团队首次亮相中国:如何构建高质量的以太坊DApp?
- 【转】(二)零基础写Java知乎爬虫之进阶篇
- 白俄罗斯或明确比特币的合法地位,允许交易所运营
- 线程安全的 SimpleDateFormat
- 小公司程序员怎么进大公司