术语
各行各业都有自已独特的术语(黑话),JavaScript 自然也不例外,这些术语都是人为规定的用来描述、归纳、概括某个知识点的特征,具有一定的抽像性,需要通过实践一步步加深理解,在此我们先有个大致的印象。
也许当你成为前端攻城狮在公司的时候,也会遇到我这里了分享的术语也许说不定…
1.关键字&保留字
关键字是指 JavaScript 中内置提供且具有特殊意义的词汇,如 let
是用来定义变量的、function
是用来定义函数的、if
是控制程序执行的等。
保留字是指那些 JavaScript 中内置尚未使用,但将来可能会使用的词汇,如 int
、short
、long
、char
等。
在编写代码时,关键字是不允许定义成变量名或函数名的,保留字则是不推荐定义成变量名或函数名,试想你使用了某个保留字定义变量名,若干年后 JavaScript 开始使用这个保留字了,即保留字成了关键字,那么必然会引起语法报错。
2.标识
所谓标识不过是变量名、函数名的另一种更洋气叫法,有时也叫标识符,区分大小写。
3.表达式
表达式比较显著的特征便是它有“值”,凡是能够产生值的代码均可以被称为表达式,一般配合运算符出现。
<script>
// 1. 极简单的表达式,本身只是一个数值
1;
true;
'hello';
// 2. 配合运算符
10 + 3; // 值为 13
'hello ' + 'world'; // 值为 'hello world'
let age = 18;
age <= 10; // 值为 false
</script>
4.语句
语句是程序的核心,一般表现为程序具体的执行行为。如输出一段内容、为某个变量赋值、流程控制等,一般配合关键字出现。
1.输出语句,执行的是输出行为
<script>
// 本质上属于函数调用
document.write('你好,世界!');
console.log('代码调试中...');
</script>
2.声明语句,定义一个变量或函数时也可以说成声明一个变量或函数,执行的是创建的行为。
<script>
// 创建一个变量 age,跟在了关键字 let 后
let age;
// 创建一个函数 sayHi,跟在了关键字 function 后
function sayHi() {
}
</script>
3.控制语句,限定程序执行的行为,又可分为分支控制语句、循环控制语句等。
<script>
// 分支语句,即分支控制,跟在了 if 或 else 关键后面
if(true) {
// code...
} else {
// code...
}
</script>
4.表达式语句,表达式在某些情况下也可构成一定的行为。
<script>
// 即是表达式,也是语句
// 产生了一个值为 undefined 故为表达式
// 声明了变量,故为声明语句
let age;
// 产生了新值 18,故为表达式
age = 18;
// 函数的调用即可被认为是表达式,也可认为是语句
</script>
关于语句和表达式的概念似乎有些摸不到头脑,尤其即是表达式又是语句的情形,其实现实开发中不必过分的区分哪种属于表达式,哪种属于语句,随着不断的学习自然会加深理解,并且语句和表达式本身是紧密联系的,很少单独来使用,如:
<script>
let age = 19;
if(age > 18) {
// code...
}
// 上述代码中 age > 18 可以被求值,结果为 true 故为表达式
// 然而 if 本身属分支语句
// 所以其实语句和表达式是紧密联系的
</script>
如果你是初学者,那么你在看代码或写代码时,切记不要去刻意分析哪段代码属于表达式,哪段代码属于语句。