js的表达式、语句、标识符
- js里面的表达式跟语句是有区分的,一般表达式都有输出值,语句可能有也可能没有,语句可能会改变环境。也可以作为函数调用的参数,下面的几行演示代码都是表达式。
add
2. 下面这个就是语句
var a =3; //将a赋值,赋值为3
3. 标识符,第一个字母可以是Unicode字母、中文或者$或者是_(下划线),但是作为下划线的时候,尽量控制下划线的个数,因为没人知道你究竟使用了多少个下划线。后面的字符可以是撒上面说的几个以外,也可以是中文。
var _ =1;
var $ =2;
var ______ = 3;
var 你好 = 4;
if语句
if(表达式){
语句1;
}else{
语句2;
}
if表达式后面的大括号再语句只有一句时是可以省略的,但是不建议这么做!
if语句里面也有一些特殊情况:
a = 1
if(a=1){
console.log(3) //这时候表达式直接就是a=1,要想执行语句我们只需将单等于号改成三等于号;
}
if(){
if()else{
} //语句1里面嵌套了另一个if else语句,显然语句2里面也可以这么做;
}else{
}
if(a===3)
console.log('a')
console.log('a等于3') //这时候浏览器console.log()出来的是a,并非是'a'与'a等于3'
因为没有写上方括号所以if语句的范围只限定再第一行语句里面;下面的
哪一行不在if语句范围之内
if语句也可以进行缩写,使用三元表达式
function max(a ,b){
if(a>b){
return a;
}else{
return b;
}
}
//缩写后的三元表达式
function max(a ,b){
return a>b ? a:b
}
while语句
语法
- while(表达式){语句}
- 判断表达式的真假
- 当表达式为真,执行语句
- 当表表达式为假,执行后面的语句
- 执行完再次判断表达式的真假
我们再写循环语句的时候尽量避免去写死循环,这样会导致cpu负载严重超支,导致死机或者浏览器崩溃!下面我来演示一个while死循环代码
var a = 0.1 //初始化
while( a !== 1 ){ //判断
console.log('a') //循环
a = a+0.1 //增长
} //这个就是新手常以为当a循环10次,这段代码就会符合表达式条件而停止执行语句
,实则这段代码就是一个死循环。
for循环
for循环是while循环的方便写法
for(语句1;表达式2;语句3){
循环体
}
for循环执行顺序
- 先执行语句1
- 然后判断表达式2
- 如果为真,执行循环体,然后执行语句3
- 如果为假,直接退出循环,执行后面的语句
for循环里面也有一些常错代码需要我们去辨别
1.
for(var i=0 ; i<5 ; i++){
console.log(i)
}
我们通过执行上述的代码之后console打印出来的i值是0 1 2 3 4,但是此时i的值却是5!这就是因为for循环执行先后顺序的关系。
2.
for(var i=0;i<5;i++){
setTimeout( ()=>{
console.log(i)
},0 )
}
浏览器打印出来5个5,遇到计时器语句,先执行完语句,最后进行计时器的操作,在进行计时器操作时,语句内的i的值已经自增到5了!所以会打出来5个5!
break与continue
顾名思义,break代表停止、推出。continue代表持续,继续的意思。应用在代码里面的属性亦是如此。
带break的for循环语句在符合一次循环之后就结束循环体,而contieue则是循环一次之后再继判断条件语句,然后选择继续循环。
lable语句
{
a:1
}
上述代码就是一个简单的lable,里面的内容就是1;
它不是对象!
它不是对象!
它不是对象!