长春 [切换城市]

长春站

长春千锋Java培训讲师浅谈JavaScript作用域

更新时间:2019/7/22 16:34:51信息编号:2056-463354
所属分类:
教育培训 电脑培训 
所在区域:
长春 南关
详细地址:
哈尔滨市松北区创新一路699号科技创新城19号楼五楼
联 系 人:
安老师
电  话:
17710405956
联系QQ:
联系QQ 1240739179
收录查询: 百度 搜狗 360   分享更易传播
小生活网提醒您:1、在办理服务前请确认对方资质, 夸大的宣传和承诺不要轻信!2.任何要求预付定金、汇款至个人银行账户等方式均存在风险,谨防上当受骗!
详细介绍

javascript是目前web领域中使用非常广泛的语言,不管是在前端还是在后端都能看到它的影子,可以说web从业者不论怎样都绕不开它x.b.a.i.x.i.n.g.c.o.m。在前端领域,各种框架层出不穷。在后端领域,nodejs可谓如火如荼,打破了人们对javascript只能作为前端语言的认知。按照此势头下去,javascript会越来越流行,会随着web的发展越来越重要x~b~a~i~x~i~n~g~c~o~m

所以不论你是想学各种前端框架还是nodejs,都需要深入理解javascript的工作原理以及特性,只有这样才能以不变应万变。

今天千锋老师给大家分享的是:浅谈JavaScript作用域

什么是作用域?

  Js中的变量或者函数能够被访问到的代码空间(变量或者函数有效的范围)。

  JavaScript中的作用域

  全局作用域;

  局部作用域;

  当一个变量在函数最外层定义时,变量就在全局作用域中,在一个函数内部定义一个变量,这个变量就在局部变量中x b a i x i n g c o m

  全局作用域

  最外层函数或者在其外部定义的变量具有全局作用域。

  var a = 10; //全局变量

  function foo(){ //全局函数

  console.log(a);

  }

  这个变量a就在全局作用域中,可以说成是个全局变量,这个a可以子啊认可地方访问或修改。

  还有一点,window对象的属性和方法具有全局作用域

  Eg:

  alert("dddddd");

  window.alert("aaaa");

  var obj = {

  name:"john",

  age:20,

  sayHello:function(x){

  console.log(x);//输出undefined//第二次输出1//第三次输出aaa(要问我为什么会输出三次,因为声明提升的问题,请自行百度)

  }

  };

  console.log(obj.name);//输出jogn

  obj.sayHello();

  console.log(obj.sayHello(1))//输出undefined

  obj.sayHello("aaaaa");

  在一个函数内部声明一个变量不用 var来定义,这个变量具有全局作用域

  function foo(){

  b = 20;

  var a = 10;

  }

  foo();

console.log(b);

console.log(a);//a会报错,因为a 是一个局部变量

局部作用域

定义在函数中的变量就在局部作用域中小百姓网www.xbaixing.com。并且函数在每次调用时都有一个不同的作用域。这意味着同名变量可以用在不同的函数中。因为这些变量绑定在不同的函数中,拥有不同作用域,彼此之间不能访问小.百.姓.网(在一个函数颞部定义的函数或者用var定义的变量具有局部作用域)

Eg:

ES5中函数去区分全局和局部的唯一的代码块

if(true){

var a = 10;

}

for(var i =0; i<=0; i++){

var b = 10;

}

console.log(a,b);//a,b都是输出10

函数的形参具有局部作用域,是局部变量

function foo(x){

console.log(x);//输出undefined

}

foo();

console.log(x);//报错

补充一点块语句

块级声明包括if和switch,以及for和while循环,和函数不同,它们不会创建新的作用域。在块级声明中定义的变量从属于该块所在的作用域。

  Eg:

  if(true){

  Var name = “join”;

  }

  Console.log(name)//输出join

Es6中引用了let,const关键字,这些关键字可以代替var,但是和var不同的是,let和const具有块级作用域,也就是说在块级声明中创建并使用时,是具有全局作用域的

在全局作用域声明的变量可以称为全局变量,同理还有全局变量,和函数形参,他们所站的比重是局部变量>函数形参>全局变量x_b_a_i_x_i_n_g_c_o_m

千锋教育:http://www.mobiletrain.org/

千锋哈尔滨校区:http://hrb.mobiletrain.org/

哈尔滨校区地址:哈尔滨市松北区创新一路699号科技创新城19号楼五楼

培训咨询专线:17710405956

   QQ  : 1240739179   联系人:安老师

面授课程:全栈Web开发+培训、全链路设计培训、PHP全栈+服务器集群培训、JavaEE+分布式开发培训、大数据+人工智能培训、 Unity游戏开发培训、Python培训、云计算+Python运维培训、全栈软件测试培训、Android培训、iOS培训、好程序员 


温馨提示:长春千锋Java培训讲师浅谈JavaScript作用域”由用户自行发布,信息内容的真实性、准确性和合法性由发布人负责。虽然部分网友认证了账号,但是并不代表没有风险。小生活网不提供任何保证不参与交易,亦不承担任何法律责任。
长春电脑培训全部地区
朝阳电脑培训南关电脑培训宽城电脑培训二道电脑培训绿园电脑培训汽车城电脑培训高新电脑培训经开电脑培训净月电脑培训双阳电脑培训德惠电脑培训九台电脑培训榆树电脑培训农安电脑培训其他电脑培训
长春电脑培训热门城市
北京电脑培训上海电脑培训深圳电脑培训广州电脑培训成都电脑培训天津电脑培训苏州电脑培训杭州电脑培训武汉电脑培训郑州电脑培训南京电脑培训济南电脑培训青岛电脑培训重庆电脑培训西安电脑培训宁波电脑培训石家庄电脑培训沈阳电脑培训厦门电脑培训长沙电脑培训
长春电脑培训周边城市
长春电脑培训吉林电脑培训四平电脑培训辽源电脑培训通化电脑培训白山电脑培训松原电脑培训白城电脑培训延边电脑培训
长春电脑培训周边服务
长春职业培训长春婴幼儿教育长春企业管理/MBA长春其他培训长春中小学教育长春移民长春电脑培训长春设计培训长春家教长春留学长春学历教育长春外语培训长春文体培训
全国电脑培训最新信息
十堰智恒办公自动化培训线上线下培训招生智恒培训办公自动化全天班,晚班,周末班招生防洪渠华森大厦星源电脑学校平面广告设计专业培训人手一机专业老师受课随到随学学办公自动化(文档、表格、PPT)就来十堰智恒不贵不难泉州鲤城区电脑培训学校哪家好,首选浮桥王宫吉智教育短期电脑培训,零基础学电脑学电脑办公(word、excel、PPT)就来十堰智恒培训新乡电脑基础短期培训电脑办公、PS、平面设计短期培训桂城电脑培训、平面设计、电子商务、淘宝美工、CAD制图培训学会为止