2. JavaScript 语法和数据结构

1. 基础

JavaScript不区分大小写

2. 注释

javascript 复制代码
// 单行注释

/* 这是一个更长的,
   多行注释
*/

/* 然而,你不能,/* 嵌套注释 */ 语法错误 */

3. 声明

var 声明一个变量,可选初始化一个值。

let 声明一个块作用域的局部变量,可选初始化一个值。

const 声明一个块作用域的只读常量,必须赋初值。

用 var 或 let 语句声明的变量,如果没有赋初始值,则其值为 undefined。

JavaScript 变量的另一个不同寻常的地方是,你可以先使用变量稍后再声明变量而不会引发异常。这一概念称为变量提升;JavaScript 变量感觉上是被"提升"或移到了函数或语句的最前面。但是,提升后的变量将返回 undefined 值。因此在使用或引用某个变量之后进行声明和初始化操作,这个被提升的变量仍将返回 undefined 值。

在 ECMAScript 6 中,let 和 const 同样会被提升变量到代码块的顶部但是不会被赋予初始值。在变量声明之前引用这个变量,将抛出引用错误(ReferenceError)。这个变量将从代码块一开始的时候就处在一个"暂时性死区",直到这个变量被声明为止。

4. 数据结构和类型

8种数据类型

  • null
  • undefined
  • number
  • bigint
  • boolean
  • string
  • symbol
  • Object
相关推荐
幸运小圣43 分钟前
前端三种输入数据来源生成 worksheet(工作表)新手适用详细篇【SheetJS】
开发语言·前端·javascript
Hilaku1 小时前
如何实现 0 毫秒无感页面跳转?聊聊被低估的 Speculation Rules API
前端·javascript·程序员
Larcher2 小时前
数组去重算法:理论与实践深度解析
javascript·算法·代码规范
XinZong2 小时前
一起来聊聊?OpenClaw 的 Skill 是提效的技能工具,还是又一个吃灰的 App 柜?
javascript
卷帘依旧2 小时前
Transpiler和Polyfill分别是什么作用
javascript
之歆3 小时前
Day17_JavaScript高级核心垃圾回收执行上下文闭包完全指南(上)
开发语言·javascript·ecmascript
狗都不学爬虫_3 小时前
JS逆向 - QY信息公示登录(加速乐+阉割版5S+瑞树+鸡眼4)
javascript·爬虫·python
Jx6573 小时前
小白的JS学习之路(五)—— “原型”
javascript
MageGojo3 小时前
JavaScript 调用 QQ 信息接口:头像直链和 QQ 空间链接展示
开发语言·javascript·ecmascript·qq 接口
胡萝卜术3 小时前
JavaScript 继承的本质之辩:从 Crockford 到 Kyle Simpson,我们真的需要 Class 吗?
javascript·程序员