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
而如果上述两条语句用逗号连接则会被视为一条语句:
do{语句}while(表达式)
区别在于 do...while 循环中表达式的值是在每次循环结束时检查,而不是在开始时检查。因此 do...while 循环能够保证至少执行一次循环。
while :
do...while :
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; }
——这个是对象