不论我们前面讲到的for, if等语句还是function,后面有一对{}比如
for(var i = 0; i < items.length; i++){
//“{”和“}”之间有代码
}
if(some_express){
//“{”和“}”之间有代码
}
function(param1){
//“{”和“}”之间有代码
}
所有{}包起来的代码,都可以称之为 “代码块” , 英文名叫Block。
在函数中定义的变量在函数外不能获取
每个代码块都有一个自己的作用域,作用域决定了变量能否被访问(不论读取变量还是修改变量)。
在最上层没有任何{}包裹的作用域为顶层作用域,声明的变量是哪里都可以访问的。
代码块是有层级的,在一个代码块里写的新的代码块,后者是前者的子作用域
当局部变量与全局变量重名时,局部变量会覆盖全局变量
var num = 1; //声明一个全局变量
function func() {
var num = 2; //声明一个局部变量
return num;
}
console.log(func()); //输出:2
函数作用域变量在声明它们的函数体以及这个函数体嵌套的任意函数体都是有定义的
function func() {
console.log(num); //输出:undefined,而非报错,因为变量num在整个函数体内都是有定义的
var num = 1; //声明num 在整个函数体func内都有定义
console.log(num); //输出:1
}
func();
分享到:
相关推荐
认识函数作用域 作用域的分类 JavaScript 认识函数作用域 思考:声明变量后就可以在任意位置使用该变量嘛? 回答:不是。 举例:函数内var关键字声明的变量,不能在函数外访问。 示例 1.作用域分类 认识函数作用域 ...
javascript中没有块级作用域。取而代之的javascript使用的是函数作用域(function scope):变量在声明它的函数体以及这个函数体嵌套的任意函数体内都是有定义的。
JavaScript 基础函数_深化剖析变量和作用域_.docx
javascript中没有块级作用域,取而代之的javascript使用的是函数作用域,下面使用示例学习一下js作用域的使用方法
函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容。 (一)JavaScript函数 JavaScript函数是...
NULL 博文链接:https://xieyaxiong.iteye.com/blog/1558277
前端面试题,包含JavaScript的闭包,作用域,原型,原型链,上下文环境以及DOM,BOM封装函数深度克隆,以及一些常见的·JS问题,试题简单但是容易混淆,作为前端工程师必考题
a、JavaScript的变量作用域是基于其特有的作用域链的。 b、JavaScript没有块级作用域。 c、函数中声明的变量在整个函数中都有定义。 javascript的变量作用域,与平时使用的类C语言不同,例如C#中的代码: static ...
在ES6之前,javascript只有全局作用域和函数作用域。所谓作用域就是一个变量定义并能够被访问到的范围。也就是说如果一个变量定义在全局(window)上,那么在任何地方都能访问到这个变量,如果这个变量定义在函数...
本文是对javascript在的函数及作用域进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
javascript使用函数作用域,即变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的,也即函数内声明的所有变量在函数体内始终是可见的。这样就意味着变量在声明之前就可以使用,这个特性被称为”...
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。任何程序...
本文实例分析了JavaScript函数作用域链。分享给大家供大家参考。具体分析如下: 作用域链: JavaScript的每个函数function都有自己的作用域,使用Active Object(简称AO)活动对象来保存,在相互嵌套的函数中形成了...
JavaScript程序设计课件:函数的作用域.pptx
目录 JS三座大山同步异步同步异步区别作用域、闭包函数作用域链块作用域闭包闭包解决用var导致下标错误的问题投票机闭包两个面试题原型、原型链原型对象原型链完整原型链图 JS三座大山 同步异步同步异步区别...
JavaScript作用域 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 1...