标签:function console log js 提升 var 变量
变量提升
- 变量提升
我们在声明变量的时候,会把变量的声明提到当前作用域的最上方,赋值还是在代码原来的位置赋值。
console.log(x);//undefined
var x=10;
console.log(x);//10
上面的代码相当于是
var x;
console.log(x);
x=10;
console.log(x);
把x的声明提升到最上方,所以第一个打印undefined,第二个打印10
- 函数提升
函数有两种形式声明
function f() {
console.log("1");
}
var x = function () {
console.log("1");
}
第一种是函数式的声明,函数的声明和赋值都会提到当前作用域的最上方,第二种是函数字面量式的声明,和普通的变量一样,声明会提到当前最用域的最上方,赋值还是在原来的位置赋值。
f();//1
var f = function () {
console.log("2");
}
function f() {
console.log("1");
}
f();//2
上面的代码相当于
function f() {
console.log(“1”);
}
f();
f = function () {
console.log(“2”);
}
f();
var的变量f会被提升到最上面,函数式定义的f会覆盖变量f,所以第一个打印1,第二个打印2
总结
- 变量的提升会在函数提升的上方,提升也有先后顺序,先提升会在上方,名称一样会被覆盖。
标签:function,console,log,js,提升,var,变量 来源: https://blog.csdn.net/weixin_43896031/article/details/114604546
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。