JS作用域与幸运飞艇网站搭建声名提升
  35hbKPRwgvlr 2023年11月02日 47 0

JS的作用域一共有三个范围,分别是: 幸运飞艇网站搭建q<115.28.8.00.9.9> 全局作用域 定义在所有函数之外的变量,其作用范围是在整个脚本中 局部作用域(函数作用域) 使用var定义在函数内部的变量,其作用范围是整个函数结构,超出函数 {} 花括号的范围则不能使用。 块级作用域 ES6声明变量的方式:let / const let 变量名 = 变量值; const 变量名 = 变量值; PS:注意: 使用const修饰的变量,赋值确定后,不允许再重新赋值。(一般修饰常量或者数组对象之类的) 而且必须给予初始值。 const修饰数组对象后虽然不可以再对变量进行等号赋值了,但是还是可以用数组和对象的方法去改变它的内部结构。 IIFE(立即调用函数表达式 - - 自执行匿名函数): 英文全名:(Immediately Invoked Function Expression) 语法: //这三种都属于IIFE写法 (function () {})(); (function () {}()); +function () {}(); //作用与ES6当中的let是一样的,只不过用这个语法是为了解决个别浏览器的兼容问题。

声名提升: 将使用var定义的变量声名提升到对应作用域的最顶部,赋值部分位置不变。

使用ES6的let与const没有声名提升。

函数的定义也存在声名提升:

如果是声名的方式定义的函数,将整个函数(声名及函数主体)都提升到作用域的最顶部。 如果是表达式的方式定义的函数,只提升声名,不提升赋值(函数主体部分) 示例:

//在声名函数前面输出它。输出的结果就是整个声名函数的内容 console.log(testArg) function testArg(a, b, c){ console.log(arguments) }

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

35hbKPRwgvlr