JS 语法

96 阅读2分钟

JS 语法

表达式和语句

表达式

1+2、add(1,2)、console.log......

语句

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

值与返回值

  • 表达式 1+2 的值为3
  • 表达式 add(1,2) 的值为函数的返回值
  • 表达式 console.log 的值为函数本身

console.log(3)表达式的值是什么?

——值是 undefined,打印出来的是 3

表达式与语句的区别(并不绝对):

  • 表达式一般都有值,语句可能有也可能没有
  • 语句一般会改变环境(声明、赋值)

语句是为了进行某种操作,一般情况下不需要返回值,而表达式都是为了得到返回值,一定会返回一个值(这里的值不包括undefined)。

如何判断是表达式还是语句?

——两种方法可以判断:1、利用if 语句。if (表达式){语句1} else{语句2}在()内进行判断,不报错就是表达式;2、利用变量赋值。如果是表达式则可以赋值给一个变量,而是语句的话就会报错。

标识符

规则: 第一个字符,可以是 Unicode 字母$_中文, 后面的字符还可以有数字

变量名是标识符

示例:

var _ = 1
var $ = 2
var _____ =6
var 你好 = 'hi'

if 语句

语法:

if (表达式){语句1}
  else{语句2}

语句1、2中都可以嵌套 if 语句

缩进问题:

a=1
if(a === 2)
   console.log('a')
   console.log('a等于2')

应打印出 a等于2

image.png

而如果上述两条语句用逗号连接则会被视为一条语句:

image.png

## while 语句 语法: ```js while(表达式){语句} 1、判断表达式真假 2、表达式为真,执行语句;表达式为假,执行后面的语句 3、执行完再次判断表达式的真假 ``` ### while 循环与 do...while 循环的区别 do...while 语法:
do{语句}while(表达式)

区别在于 do...while 循环中表达式的值是在每次循环结束时检查,而不是在开始时检查。因此 do...while 循环能够保证至少执行一次循环。

while :

image.png

do...while :

image.png

for 语句

语法:

for(语句1;表达式2;语句3){
   循环体
}
1、执行语句1
2、判断表达式2
3、如果为真,执行循环体,然后执行语句3;如果为假,直接退出循环,执行后面的语句。

break 和 continue

break 语句“跳出”整个循环。

continue 语句“跳过”循环中的一个迭代。

break:

let text = '';

for (let i = 0; i < 10; i++) {
  if (i === 3) {
    break;
  }
  text = text + i;
}

console.log(text);
// expected output: "012"

continue:

let text = '';

for (let i = 0; i < 10; i++) {
  if (i === 3) {
    continue;
  }
  text = text + i;
}

console.log(text);
// expected output: "012456789"

label

label 语句被称为标记语句,而标签就是在一条语句前面加个可以引用的标识符。

foo:{
   console.log(1);
   break foo;
   console.log('本行不会输出');
}
console.log(2);
/* expected output: > 1
                    > 2*/

问题:这是一个对象吗?

{
   foo:1;
}

——不是对象,是一个代码块里面有个 label

var a={
   foo:1; 
}

——这个是对象