美文网首页
第一部分 第4章 提升

第一部分 第4章 提升

作者: 酥枫 | 来源:发表于2018-10-14 13:01 被阅读0次

变量声明提升和函数声明提升

var a=2;这段代码引擎在处理时会处理成

var a;
a=2;

所以

console.log(a);
var a=2;
//相当于
/**
 * var a;
 * console.log(a);
 * a=2;
 */

会输出undefined。
同样函数也会有函数声明提升:

foo();//undefined
function foo(){
    console.log(a);
    var a=2;
}

单数函数表达式不会提升:

foo();//TypeError
bar();//ReferenceError
var foo=function bar(){
    //...
}
//相当于
/**
 * var foo;
 * foo();//此时foo为undefined
 * bar();
 * foo=function bar(){
 *     ...
 * }
 */

值得注意的是,提升是单独的,即每个作用域都会进行提升操作,提升到所在作用域的最上方,而不是整个程序的最上方。

函数优先

函数会优先被提升,然后才是变量提升:

foo();//1
var foo;
function foo(){
    console.log(1);
}
foo=function(){
    console.log(2);
}

上面的代码相当于:

function foo(){
    console.log(1);
}
var foo;//重复声明,这一句被忽略
foo();
foo=function(){
    console.log(2);
}

尽管重复的var声明会被忽略,但是出现在后面的函数声明还是可以覆盖前面的:

foo();//3
function foo(){
    console.log(1);
}
var foo=function(){
    console.log(2);
}
function foo(){
    console.log(3);
}

相关文章

  • iOS核心动画

    动画是iOS中非常有趣的部分,同时也是提升用户交互体验的有力工具,本文主要分为两个部分,第一个部分讲解基础知识,第...

  • 二年级语文上册第二次月考试卷分析

    本次月考试卷一共分为四部分。第一部分,基础训练,47分。第二部分,能力提升,18分。第三部分,阅读乐园,20分。第...

  • 【读书笔记】关于复盘思维(一)

    《复盘思维:用经验提升能力的有效方法》一书分为三部分,第一部分介绍复盘基础知识,概念和思维的铺垫,第二部分实操,第...

  • 改变思维方式是实现理想的前提

    自我提升阅读打卡第265天(1月7日) 今天晚上抽空重温阅读稻盛和夫的《活法》序言及第一章。序言部分给我...

  • 第一部分 第4章 提升

    变量声明提升和函数声明提升 var a=2;这段代码引擎在处理时会处理成 所以 会输出undefined。同样函数...

  • 《高效能人士的七个习惯》之更新造就自己

    《高效能人士的七个习惯》 第四部分:自我提升和完善 第10章 习惯七不断更新~平衡的自我提升原则 第11章 再论由...

  • 2019-03-21

    2019第8篇 这是混沌大学研习社的一篇刻意练习的案例分析。《创业公司如何提升融资能力》课,第一部分回顾了课程内容...

  • 《月亮与六便士》第一部分之精妙语句

    毛姆的《月亮与六便士》可以分成三个部分: 第一部分:开篇~第17章; 第二部分:第18章~第44章; 第三部分:第...

  • 第1-5章HTML

    第1章、认识HTML 第2章、认识标签(第一部分) 第3章、认识标签(第二部分) 第4章、认识标签(第三部分) 第...

  • 《潜力量GROW》读书笔记(3)

    第一部分 规范与原则 第2章 表现的本质 庄子曾说过:无听之以耳,而听之以心。 有三个对提升表现非常重要的要素。 ...

网友评论

      本文标题:第一部分 第4章 提升

      本文链接:https://www.haomeiwen.com/subject/jemzaftx.html