变量声明、声明提前和作用域

一. 作用域

分为全局作用域和函数作用域

函数作用域简言之就是:变量在声明他们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。

二 .声明提前

变量在声明之前就已经可用。我们称这种特性为声明提前,也就是函数里的所有变量都被“提前”至函数体的顶部。

有以下几种方式

1. var a;     即:  var a = undefined;

2. a = 1;        即:   var a = 1;(全局变量)

3. var a = 1;   即:  前两种的组合

下面陷阱分析:

var v ="yoyo";   //全局变量声明,全局作用域,即:var v = undefined; var v ="yoyo";

(function(){ 

    console.log(v);     //由于声明提前,此段代码前有一段var v = undefined; 函数作用域,所以此时输出undefined

     var v ="check now";     //此处 var v ="check now";赋值了局部变量;所以下方输出"check now"

     console.log(v); 

})(); 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,196评论 0 13
  • 天气转冷,周围很多同事家的孩子也有感冒肺炎等住院的,很心疼。做父母的最懂这种感受,孩子感冒咳嗽,若去医院就是抽血...
    素馅儿阅读 433评论 2 1
  • (修改了三天的这一篇终于可以和大家见面了~) 她轻轻敲着窗框,叹了一口气。 突然,她听到了一缕幽远的笛音,仿佛有一...
    Vesper_Xiao阅读 517评论 0 2
  • 两个同命相连的人,会有很多共同的语言,会有很多共同的观点,连发牢骚几乎都是一样的! 我们都是有病的人,除了...
    救赎的公牛阅读 391评论 0 0