位置: 编程技术 - 正文

JAVASCRIPT函数作用域和提前声明 分享(javascript编写函数)

编辑:rootadmin
一些语言如C、java都有块级作用域,即花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的,但是javascript没有块级作用域。javascript使用函数作用域,即变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的,也即函数内声明的所有变量在函数体内始终是可见的。这样就意味着变量在声明之前就可以使用,这个特性被称为"声明提前",即javascript函数里声明的所有变量都被提前至函数的顶部。来看个例子。上述函数执行的结果是:先输出"undefined",再输出"localVariable"。很多人都会误以为结果是:先输出"globalVariable,再输出localVariable"。其实不然,由于函数作用域的特性,局部变量在整个函数体始终是有定义的,也即,在函数体内局部变量遮盖了同名全局变量,但是只有在程序执行到var语句的时候,局部变量才会被真正的赋值。因此,上述过程相当于,将函数内的变量声明提前至函数体顶部,同时变量初始化留在原来的位置。就相当于如下这个函数但是,如果函数内没有用var声明变量,情况又有所不同。这个函数执行的结果是:先输出"globalVariable",再输出"localVariable"。由于函数体内的test1变量没有用var声明,就默认为全局变量,当然就不存在变量提前声明的问题。第一行就会输出"globalVariable",而第三行改变了test1全局变量的值,输出了"localVariable"。

推荐整理分享JAVASCRIPT函数作用域和提前声明 分享(javascript编写函数),希望有所帮助,仅作参考,欢迎阅读内容。

JAVASCRIPT函数作用域和提前声明 分享(javascript编写函数)

文章相关热门搜索词:javascript函数作用域分为,javascript函数作为参数,javascript函数作为参数,javascript函数用法,javascript函数怎么写,javascript函数怎么写,javascript函数用法,javascript函数作用域分为,内容如对您有帮助,希望把文章链接给更多的朋友!

关于JS中的闭包浅谈 (⊙o⊙)!!!这个也太尼玛官方了撒,作为菜鸟的我根本无法理解它想表达个什么意思!但是作为一只好奇的菜鸟又很想知道闭包到底是个什么东西!

JavaScript语言核心数据类型和变量使用介绍 任何的编程语言都有自己的语言核心,和众多编程语言一样,JavaScript也有自己语言的核心。语言的核心部分一般被称之为JavaScript最为基础的部分。正所

处理及遍历XML文档DOM元素属性及方法整理 用于处理XML文档的DOM元素属性childNodes:返回当前元素所有子元素的数组;firstChild:返回当前元素的第一个下级子元素;lastChild:返回当前元素的最后一

本文链接地址:https://www.jiuchutong.com/biancheng/376141.html 转载请保留说明!

上一篇:JavaScript中的eval()函数详解(JavaScript中的NaN代表什么)

下一篇:关于JS中的闭包浅谈(js闭包作用问题解决应用)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络