《JavaScript 基本语法 》

197 阅读3分钟

表达式和语句

语句:

JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。

   var a = 1 便是一个语句,语句是为了完成某种任务而进行的操作。

表达式:

   var a = 1+2 这行语句中的 1+2 是表达式,它的运算赋值为 3 结果会给变量 a
   

1+2 是指一个为了得到返回值的计算式,为函数的返回值。

console.log 表达式的值为函数本身。

两者区别:

  • 语句主要为了进行某种操作,一般情况下不需要返回值。

  • 表达式则是为了得到返回值,一般都会返回一个值。

  • 语句一般会改变环境(声明.赋值) 当然以上也并不是绝对的


标识符的规则

标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript 语言的标识符对大小写敏感。所以

var a 和 var A 是不同的

object 和Object 是不同的

function 和 Function 是不同的

标识符有一套命名规则,不符合规则的就是非法标识符。JavaScript 引擎遇到非法标识符,就会报错。标识命名规则如下:

  • 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。

  • 后面的字符除了以上表达方式还可以是数字。

  • var _=1

  • var &=2

  • var _______ =6 虽然可以使用但是最好千万别用这一种

  • var 你好='hi' 以上都是合法标识符


注释

注释可有两种写法: // 和 /**/

// 是单行注释

/*
是多行注释

*/

区块 block

把代码包起来,常与if/for/while和用

{
let a = 1
let b = 2
}

if else 语句

if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,true表示真false表示伪。

注意:if后面的表达式之中,不要混淆赋值表达式(=)严格相等运算符(===)和相等运算符(==)

  • (=) 赋值表达式不具有比较等效作用,要使用严格相等运算符(===)!!!

if代码块后面,还可以跟一个else代码块,表示不满足条件时,所要执行的代码。

if(表达式) {
 // 语句1 满足条件是,执行的语句
}else{
// 语句2 不满足条件时,执行语句
}

对一个变量多次判断时,多个if else语句可以连在一起写,比较推荐的写法。

if (表达式) {
// 语句...
} else if (表达式) {
// 语句...
} else {
// 语句...
}
一些变态情况
  • 表达式里a =1

  • 语句1嵌套的if else

  • 语句2也是嵌套的if else

  • 缩进里也可以出现下套 次推荐的写法:

    function fn(){

      if(表达式){
    
           return表达式
    
    }if(表达式){
    
          return(表达式)
    
    }return(表达式)
    

    }

while 循环

While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。

语法
while (表达式) {
语句;
}
  • 判断表达式的真假

  • 当表达式为真,执行语句,执行完再次判断表达式的真假。

  • 当表达式为假,执行后面的语句

示例

var i = 0;

while (i < 10) {
console.log('i 当前为:' + i);
i = i + 1;
} 
上面代码会循环10次,直到等于10为止。

无限循环示例

while (true) {
console.log('Hello, world');
}
上面的例子是一个无限循环,因为循环条件总是为真。

for 循环

for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。

语法
for(语句1;表达式2;语句3){
循环体
}
  1. for语句后面的括号里面,先执行语句1.
  2. 然后在判断表达式2.
  3. 如果为真,执行循环体然后执行语句3.
  4. 如果为假,则直接退出循环执行后面的语句。

break 语句和 continue 语句

break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。

break语句用于跳出代码块或循环。

var i = 0;

while(i < 20) {
console.log('i 当前为:' + i);
i++;
if (i === 5) break;
}
上面代码只会执行5次循环,一旦i等于5,就会跳出循环。

continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。

var i = 0;

while (i < 100){
i++;
if (i % 2 === 0) continue;
console.log('i 当前为:' + i);
}
上面代码只有在i为奇数时,才会输出i的值。如果i为偶数,则直接进入下一轮循环。

label

语法
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
上面代码执行到break foo,就会跳出区块

标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。

标签通常与break语句和continue语句配合使用,跳出特定的循环。

提示

下面代码块,不应该是一个对象,而是一个label标签里面有个1,结果是1.

{
foo : 1
}

日常学习记录,有错误请指正,暂时先记录这些,可以根据这个 《网道 JavaScript 教程》网站进行学习!