首页 > 其他分享 >js语法

js语法

时间:2024-08-07 18:55:05浏览次数:11  
标签:函数 1.2 作用域 js 语法 访问 查找 变量

1.作用域

1.1 定于

作用域( scope)规定了变量能够被访问的“范围”,离开了这个“范围″变量使不能被访问

1.2 分类

1.2.1局部作用域

1.2.1.1 函数作用域

在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。

1.2.1.2 块作用域

在 Javascript中使用仆}包裏的代码称为代码块,代码块内部声眀的变量外部将【有可能】无法被访问。

1.2.2全局作用域

<script>标签和js文件的【最外层】就是所谓的全局作用域,在此声明的变量在函数内部也可以被访问。全局作用域中声明的变量,任何其它作用域都可以被访问

1.3 作用域链

作用域链本质上是底层的变量查找机制。

  • 在函数被执行时,会优先查找当前函数作用域中查找变量
  • 如果当前作用域查找不到则会依次逐级查找父级作用域直到全局作用域

1.4 闭包

概念:一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域
简单理解:闭包=内层函数+外层函数的变量
先看个简单的代码:


1.5 变量提升

2.函数

2.1 函数的参数



2.2 箭头函数

标签:函数,1.2,作用域,js,语法,访问,查找,变量
From: https://www.cnblogs.com/pdxt666/p/18347652

相关文章

  • node.js: mysql sequelize in WebStorm 2023.1
    mysql:select*fromtutorials;#CREATETABLEIFNOTEXISTS`tutorials`(`id`INTEGERNOTNULLauto_increment,`title`VARCHAR(255),`description`VARCHAR(255),`published`TINYINT(1),`createdAt`DATETIMENOTNULL,`updatedAt`DATETIMENOTNULL,PRIMA......
  • js学习
    变量通过prompt收集输入信息声明变量特殊情况八股文字符类型可以随时变换js中数字前补0为八进制,补0x为十六进制方法:isNaN(),如果是数字返回false,反之返回true字符串转义符字符串与别的类型拼接,拼接后为字符串字符串内设置变量布尔值数据类型,true参与运算时作为1,f......
  • C# 语法糖
    语法糖:是C#编程语言中为了简化代码和提高代码可读性而引入的一系列语言特性。这些特性在编译时会被转换成更基本的代码形式,但在编写代码时提供了更加简洁和直观的方式。1.表达式体属性:使用=>运算符定义属性的getter或setter。public string FullName => FirstName +......
  • JSP个人博客管理系统4n8ge(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,日志信息,个人相册,标签分类,登录签到,积分充值技术要求:    开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技......
  • js文字无限循环向上滚动轮播
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><linkrel="stylesheet">......
  • JSON反序列化中的泛型问题及解决方法
    1、问题Java的泛型是编译期擦除,因此反序列化无法直接指定泛型类型:List<User>list=JsonbBuilder.create().fromJson(json,List<User>.class);编译不通过,改为List.class又达不到预期效果。2、解决办法jackson的做法:List<User>list=JsonbBuilder.create().fromJson(jso......
  • nextjs14 跨域该如何处理
    nextjs官方地址next.config.js和next.config.mjs他有什么区别next.config.js:使用的是CommonJS模块系统。这是Next.js默认的配置文件格式,也是大多数情况下使用的格式。使用require语法导入模块,使用module.exports导出对象。next.config.mjs:使用的是ESMod......
  • 部署nuxt3.js到nginx的过程
    1.先安装好nodejs的版本我centos7版本,最后发现支持nodejs-v16.20版本在[sytyuser1@syit-dev-linux-01node]$pwd/usr/local/node在 /usr/local/node  目录下载wgethttps://nodejs.org/dist/latest-v16.x/node-v16.20.2-linux-x64.tar.gz解压 tar-zxvf node-v16.20.......
  • [MRCTF2020]套娃 php字符串解析绕过,jsfuck编码
    进来看到代码<!--//1st$query=$_SERVER['QUERY_STRING'];if(substr_count($query,'_')!==0||substr_count($query,'%5f')!=0){die('Y0uareSocutE!');}if($_GET['b_u_p_t']!=='23333'......
  • 在组件外(.js文件)中使用pinia的解决方法
    Pinia是Vue3的状态管理库,它提供了一种简单而灵活的方式来管理Vue应用中的状态。通常情况下,Pinia与Vue组件紧密集成,允许你在组件内部直接使用Pinia来管理状态。然而,有时你可能需要在组件外部使用Pinia,例如在Node.js环境中或者在Vue组件之外的JavaScript文件中。......