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培训、好程序员

长春锦航搬家公司承接:居民搬家,公司搬家,家具拆装,小型搬家,搬运装卸。

净月区搬家公司电话,24小时竭诚为您服务,就近派车

长春锦航搬家有限公司是长春市较早的搬家公司之一。锦航搬家公司成立于2005年。公司经过十多年的积累已发展成集:市民搬家、企事业单位搬迁、学校搬家、个人小型搬家、办公室搬家、家具拆装、长途搬家、搬运装卸

个人搬家 省钱、省心、省时、安全、快捷、周到单位搬家 省钱、省心、省时、安全、快捷、周到长途货运 省钱、省心、省时、安全、快捷、周到居民搬家 省钱、省心、省时、安全、快捷、周到

长春锦航搬家公司专业小型搬家、小件搬运,随叫随到;居民搬家提前预约,准时到达;公司搬迁,量大,提供免费评估服务;学校银行搬迁;大中小型工厂搬迁。锦航搬家业务部提醒您:一定要详细说明路程的远近,中途有无

长春锦航搬家公司信誉至上,服务春城,价格透明,不磕不碰是您的首选公司承接:公司搬迁,学校搬迁,居民搬家,长短途搬家,小型搬家,搬运装卸,家具拆装,搬厂倒库等服务。全市九区连锁为您节省费用和时间。

锦航搬家公司提醒各位客户:搬家前详细说明家具的多少、楼层的高低、路程的远近、中途是否有中转,这样我们才能根据您提供的情况进行车辆、人员及价格的准确估量;在服务过程中如果造成客户物品的损坏,公司将根据物

长春锦航搬家有限公司是长春市较早的搬家公司之一。公司经过十多年的积累已发展成集:市民搬家、企事业单位搬迁、学校银行搬迁、小型搬家、办公室搬家、家具拆装、长途搬家、搬运装卸、普通货运、实验仪器、中小型设

长春锦航搬家全心全意为人民服务,客户至上,信誉至上

长春市锦航搬家公司从事搬家行业20年,经验丰富,服务快捷

长春锦航搬家公司节假日不休,价格透明合理,中途无附加收费

长春锦航搬家公司正规诚信口碑好为客户提供服务称心、质量放心、搬运省心的搬家技术定能妥善保护您的物品安全,客户满意是我们搬家公司的使命!长春锦航搬家公司搬家行业的典范!各区就近派车,节省您的费用和时间。

长春搬家长春锦航搬家居民搬家服务流程:1、电话受理业务(特殊情况免费评估)。2、同意后签订合同,确保消费者权益。3、搬运当天依客户要求准点到位,每部车配备毛毯等包装品。4、到达卸点按要求家具等大件摆放

长春锦航搬家有限公司 搬家十多年来为长春大型企业、银行、学校等单位服务,受到各界朋友的好评。

长春锦航搬家有限公司搬家十多年来为长春大型企业、银行、学校等单位服务,受到各界朋友的好评。我们以诚信为本,客户至上的原则服务社会,承揽企事业单位、居民搬家,学校搬家搬寝、银行搬家、个人小型搬家,大中小

长春锦航搬家公司长春搬家快捷守时,就近派车

长春锦航搬家有限公司搬家服务流程:1、电话受理业务(特殊情况上门估价)。2、同意后签订合同,确保消费者权益。3、搬运当天依客户要求准点到位,每部车配备毛毯等包装品。4、到达卸点按要求大件家具摆放到位。

长春锦航搬家有限公司承接各区居民搬家,小型搬家,公司搬迁,长短途搬家,家具拆装打包,搬运装卸,小件搬运,倒库搬场。长春市各区就近派车,高效快捷。价格透明合理,中途无二次收费。

长春锦航搬家有限公司搬家服务流程:1、电话受理业务(特殊情况免费评估)。2、同意后签订合同,确保消费者权益。3、搬运当天依客户要求准点到位,每部车配备毛毯等包装品。4、到达卸点按要求家具等大件摆放到位

长春搬家长春市搬家长春搬家公司长春居民搬家

【开设课程】:软件开发,Java培训,python培训,PHP培训,HTML5培训,编程培训,web前端、linux培训,大数据培训等课程。 主要开设: html5、Java、Python、UI设计、...
开设:Java开发、Python+人工智能、web前端开发、小程序、UIUE设计、大数据、软件测试、Linux云计算、VR/AR游戏开发、网络安全、互联网营销、电商运营、新媒体与短视频运营、三维可视化...
短视频剪辑,视频剪辑,pr剪辑,AE剪辑,抖音运营培训,短视频运营,抖音直播带货,视频剪辑拍摄培训,影视后期 【抖音实操运营培训】针对想要学习抖音短视频制作技术的学员的课程 【学习目标+适合人群】 通...
长春学专业的IT计算机培训课程,JAVA编程开发培训、web前端开发培训、软件测试培训、Python培训、网络安全培训、大数据培训、嵌入式开发培训、H5培训、游戏开发培训、影视动画培训、数据分析培训、...
电脑基础培训,办公软件培训,excel培训,PPT培训,word文档培训 办公自动化培训部分: 1、计算机组成结构原理,英文指法,键盘练习,五笔字型提高。 2、Win多窗口操作,字体安装与输入法设置。...
IT软件开发培训学校课程大纲 Java语言基础 了解计算机概述、掌握Linux Eclipse开发环境搭建; 掌握变量/基本数据类型/运算符/流程控制/数组; 掌握对象/类/属性/方法/构造器/重载/...
校开设课程:PHP开发工程师、JavaEE工程师、UI或UE全能设计师、WEB前端、HTML5全栈工程师、云计算Linux工程师、Python全栈+人工智能、微信小程序、软件测试、大数据开发工程师、网...
短视频剪辑,视频剪辑,pr剪辑,AE剪辑,抖音运营培训,短视频运营,抖音直播带货,视频剪辑拍摄培训,影视后期 【抖音实操运营培训】针对想要学习抖音短视频制作技术的学员的课程 【学习目标+适合人群】 通...
开设:Java开发、Python+人工智能、web前端开发、小程序、UIUE设计、大数据、软件测试、Linux云计算、VR/AR游戏开发、网络安全、互联网营销、电商运营、新媒体与短视频运营、三维可视化...
面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Un...