第3章:语言基础
任何语言的核心所描述的都是这门语言在最基本的层面上如何工作,涉及语法、操作符、数据类型以及内置功能,在此基础之上可以构建复杂的解决方案。
3.1:语法
🤙🏻语法介绍':ECMAScript的语法很大程度上借鉴了C语言和其他类C语言。如Java和Perl。
3.1.1:区分大小写
- ECMAScript中的所有一切都区分大小写,从变量->函数名字->操作符都是区分大小写.
- 变量text和变量Text是不同的变量
- typeof不能为函数名,因为是它一个关键字
3.1.2:标识符
标识符就是(变量,函数,属性或函数参数的名称),标识符可以由一个或多个下列字符组成:
- 第一个字符必须是一个字母、下划线_或美元符号$
- 剩下的其他字符可以是字母、下划线、美元符号或数字
1.标识符中的字母可以是扩展ASCII(Extebded ASCII)中的字母,也可以是Unicode字母字符,如:À 和 Æ(不推荐使用)
2.ECMAScript的标识符使用驼峰大小写形式,即第一个单词的首字母孝燮,后面每个单词的首字母大写,以下是例子:
var firstSecond
var myCar
var doSomethingImportant
3.1.3:注释
ECMAScript采用C语言风格的注视,包括单行注释和块注释。
-
单行注释以两个斜杆字符开头:
//单行注释 -
块注释以一个斜杠和一个星号(/ )开头,以它们反向组合( /)结尾
/* 这是多行 注释 */
3.1.4:严格模式
ECMAScript5增加了严格模式(strict mode),严格模式是一种不同JavaScript解析和执行的模型,ECMAScript3的一些不规范写法在这种模式下会被处理,对于不安全的活动都会将其抛出错误
使用方式:
就是在脚本开头加上"use strict";这一行。
补充:
-
它是一个预处理指令,任何支持的JavaScript引擎看到它都会切换到严格模式,选择这种语法形式目的是不破坏ECMAScript3语法。
-
它也可以单独指定一个函数在严格模式下执行,道理相同:
function doSomething() { "use strict"; //函数体 }[注意] 所有现代浏览器都支持严格模式
3.1.5:语句
ECMAScript中的语句以分号作为结尾,省略号意味着由解析起确定语句在哪里结尾:
let sum = a + b //没有分号也有效果,但不推荐
let diff = a - b //加分号有效,推荐
加上分号的理由如下:
- 加分号有助于防止省略造成的问题,可以避免输入内容不完整
- 加分号便于开发者通过删除空行来压缩代码,如果没有结尾的分号,只删除空行,则会导致语法错误
- 加分号某些情况下是可以提升性能,可以解析起可能会尝试补上分号来达到纠正语法
多条语句可以合并到一个C语言风格的代码块中,代码块由一个{}组成:
if (test) {
test = false
console.log(test)
}
控制语句只在执行多条语句时必须要有代码块,最佳实践实在控制语句中使用代码块,即要执行的只有一条语句:
if (test)
console.log(test)
// 有效,但容易导致错误,应该避免
if (test) {
console.log(test)
}
//推荐
在控制语句中使用代码块可以使内容更加清晰,在需要修改代码时可以减少出错可能性。
3.2:关键字与保留字
| break | do | In | typeof |
|---|---|---|---|
| case | else | Instance | var |
| catch | export | new | void |
| class | extends | return | while |
| const | finally | super | with |
| continue | for | switch | yield |
| debugger | function | this | |
| default | if | throw | |
| delete | import | try |
[注意] 这些都是js的关键字请不要在变量名中使用这些
小总结: 今天第四天🐛学习javascript红宝书,终于如重释放,之前的不明白到现在用心的看书,红宝书真的在每一个注意的点都解释得很好,之前懵懵懂懂的知识如今已经慢慢的巩固起来。