JavaScript基础 - 作用域 - 对象

1 - 作用域

1.1 作用域概述

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字
的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
JavaScript(es6前)中的作用域有两种:

全局作用域

局部作用域(函数作用域)

1.2 全局作用域

作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件

1.3 局部作用域 

作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域。

 1.4 JS没有块级作用域

块作用域由 { } 包括。

在其他编程语言中(如 java、c#等),在 if 语句、循环语句中创建的变量,仅仅只能在本 if 语句、本循环语 句中使用,如下面的Java代码:

java有块级作用域:

if(true){
int num = 123;
system.out.print(num); // 123
}
system.out.print(num); // 报错

以上java代码会报错,是因为代码中 { } 即一块作用域,其中声明的变量 num,在 “{ }” 之外不能使用; 而与之类似的JavaScript代码,则不会报错:

Js中没有块级作用域(在ES6之前)

if(true){
var num = 123;
console.log(123); //123
}
console.log(123); //123

2 - 变量的作用域

在JavaScript中,根据作用域的不同,变量可以分为两种:

全局变量

局部变量

 2.1 全局变量

在全局作用域下声明的变量叫做全局变量(在函数外部定义的变量)。 

 全局变量在代码的任何位置都可以使用

在全局作用域下 var 声明的变量 是全局变量

特殊情况下,在函数内不使用 var 声明的变量也是全局变量(不建议使用)

 2.2 局部变量

在局部作用域下声明的变量叫做局部变量(在函数内部定义的变量)

 局部变量只能在该函数内部使用

在函数内部 var 声明的变量是局部变量

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中提到了函数的命名规则和参数的使用方式。函数的名字首字母必须大写,而函数的参数在函数体内使用时需要加上前缀"a:"。这样做是为了避免用户自定义函数与内置函数命名冲突,并且在使用函数参数时避免出现未定义的变量错误。此外,函数名称属于全局命名空间,在所有脚本中都可以使用。而引用\[2\]中提到了作用的概念,函数内部的代码环境称为局部作用或函数作用。在函数内部定义的变量只能在该函数内部使用。另外,JavaScript中没有块级作用的概念,即在if语句、循环语句中创建的变量可以在整个函数内部使用。引用\[3\]中提到了函数提升的概念,即函数的声明会被提升到当前作用的最上面,但不会立即调用函数。这意味着可以在函数声明之前调用函数。另外,函数表达式的声明方式需要注意,需要先声明函数变量再调用函数。根据以上引用内容,作用首选项名称指的是在函数内部定义的变量的名称。 #### 引用[.reference_title] - *1* [VimScript脚本语言学习------变量作用、函数](https://blog.csdn.net/smstong/article/details/20775695)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Javascript基础第六天知识点以及案例:作用、JS预解析、对象](https://blog.csdn.net/m0_46597922/article/details/105752076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值