知识点:
var a =1; console.log(a); 在控制台(console)显示变量a的值
赋值表达式(=)、严格相等运算符(===)和相等运算符(==)
表达式:
表达式(expression),指一个为了得到返回值的计算式。
1+2表达式的值为3;
add(1,2)表达式的值为函数的返回值;
console.log表达式的值为函数本身;
console.log(3)表达式的值为undefined;
语句:
语句(statement)是为了完成某种任务而进行的操作。var a = 1 + 3;就是一个赋值语句,含义为声明变量a,然后将1+3的运算赋值给变量a.语句以分号结尾,一个分号就表示一个语句结束,多个语句可以写在一行内;分号前面可以没有任何内容,JS将其视为空语句。
var a=1 是一个语句;声明变量a的值为1.
二者的区别
表达式一般都是有值,语句可能有也可能没有,语句一般会改变环境(声明、赋值)
注意事项:
1.JS大小写是敏感的
2.空格和回车(只要不影响断句)无实际意义,只有一个地方不能加回车,那就是return的后面标识符
标识符规则:
第一个字符,可以是Unicode字母或$或—(下划线)或中文,—(下划线)最多只能两个。后面的字符,除了上面说的还可以有数字0-9。中文是合法的标识符,可以用作变量名。
Uncaught SyntaxError: Invalid or unexpected token 没有捕获的语法错误 SyntaxError(语法错误)
注释:
源码中被 JavaScript 引擎忽略的部分就叫做注释,它的作用是对代码进行解释。
//起头单行注释 /* */多行注释。HTML代码的注释()也被视为合法的注释。
区块:
JavaScript 使用大括号,将多个相关的语句组合在一起,称为“区块”(block)。对于
var命令来说,JavaScript 的区块不构成单独的作用域(scope)。
条件语句:
1.if...else 如果...那么...
所谓布尔值,指的是 JavaScript 的两个特殊值,true表示“真”,false表示“伪”。
if(表达式){语句1}else{语句2} 如果表达式成立,语句1执行,如果表达式不成立,语句2执行。
{}在语句只有一句话的时候可以省略,但不建议这样做。
a=1
if(a===1){
console.log('a是1')
}else{
console.log('a不是1')
}
VM562:3 a是1
2.switch 语句 if...else...升级版
a = 2
switch(a){
case 1:
case 3:
console.log('单数');
break;
case 2:
case 4:
console.log('双数');
break;
}
上面代码根据变量fruit(成果)的值,选择执行相应的case(情况)。如果所有case都不符合,则执行最后的default部分。需要注意的是,每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。
3.问号冒号表达式(三元运算符):
条件?表达式1:表达式2 如果条件成立则返回表达式1的值,否则返回表达式2的值。
4.&&短路逻辑
window.f1 && console.log('f1存在')
A&&B&&C&&D取第一个假值或D
5.A&&B
1.两个都为真的情况下值为B
2.只要A是假,他的值就为A
3.如果A是真,那么它的值就是B
4.如果A是假,B是假,那么它的值为A
如果前面为假我就直接输出为假,如果前面为真我就输出后面那个
console && console.log && console.log('h1')
如果console存在,我就看console.log ,如果console.log存在,我就执行console.log('h1')
6.||短路逻辑
A || B || C || D 取第一个真值或D
7.while(当)语句
语法
while(表达式){语句}
判断表达式的真假,当表达式为真,执行语句,执行完再次判断表达式的真假当表达式为假,执行后面的语句,
初始化、判断、循环体、增长缺一不可,如果有少任何一部分就进入死循环。
8.for循环:for是while循环的方便写法
语法:for(语句1;表达式2;语句3){循环体} s
let i只在当前表达式生效。
for循环会执行完才能进入下一步,setTimeout(()=>{console.log(i)},过段时间执行。
break 退出所有循环V.S.只会退出离他最近的for
continue 退出当前一次循环
参考文章: JavaScript 的基本语法wangdoc.com/javascript/…