Js基础语法
表达式
1+2 表达式的值为3
add(1,2)表达式值为函数的返回值
console.log表达式的值为函数的本身
cosole.log(3)表达式的值是多少?(还是本身,3只是打印出来的)
语句
var a = 1 是一个语句
二者的区别
表达式一般都有值,语句有可能有也可能没有
语句一般回给变环境(声明,赋值)
大小写敏感
var a 和 var A 是不同的
Object 和 object是不同的
function 和 Function是不同的
空格
var a=1 和 var a= 1没有区别
加回车大部分时候也不影响
只有一个地方不能加回车,那就是return后面
标识符
规则
一个字符,可以是Unicode字母和'$'或_或中文,后面的字符除了前面所说还可以是数字
变量名是标识符
var _ = 1
var $ = 2
var ___= 3
var 你好= "hell word"
注释
//单行注释,只能写在一行
/*多行注释 可以写多行*/
注释的分类
不好的注释
把代码翻译成中文
过时的注释
发现些不满的注释
好的注释
踩坑的注释
为什么代码会写的奇怪,遇到什么bug
区块clock
把代码包在一起
{
let a = 1
let b = 2
}
长航与if/for/while合用
if(如果...那么..)
语法
if(表达式){语句1}else{语句2}
{}在语句只有一句的时候可以省略,不建议这样做
变态的情况
表达式里可以非常变态,如 a = 1
语句1里可以非常变态,比如嵌套if else
语句2里可以非常变态,如嵌套if else
锁紧也可也很变态,如下
a = 1
if(a === 2)
cosnole.log('a')
cosole.log('a等于2')
注意使用最没有歧义的写法,程序员的戒律
最佳写法
if (表达式){
语句
}else if (表达式){
语句
}else {
语句
}
次推荐使用写法
function fn () {
if (表达式){
return 表达式
}
if (表达式){
return 表达式
}
return 表达式
}
switch语句
语法
switch (fruit) {
case "banana":
//...
breal;
case "apple":
//..
break;
default:
//...
}
break:大部分时候,省略就完了。少部分时候,可以利用break
问号冒号表达式
表达式?语句1:语句2 (三元表达式)
&&(并)短路逻辑
A&&B&&C&&D取第一个加或者D
并不会取true/false
|| (或) 短路逻辑
A||B||C||D取第一个真值或D
表不会取true/false
while循环(当..时)
语法
while(表达式){语句}
判断表达式的真假
当表达式为真时,执行语句,执行语句之后再次判断表达式的真假
当表达式为假时,执行后面的语句
其他
do...while用的不多,先执行一次,后判断表达式
for循环
语法糖
for是while的方便写法
语法
for(语句1:表达式:语句3){
寻话题
}
先执行语句1
然后判断表达式2
如果为真,执行循环体,然后执行语句3
如果为假,直接跳出训话,执行后面的语句
break和continue
break退出所有循环,注意退出当前层级的循环语句。
continue退出当前一次循环
label(代码块)
语法
foo: {
console.log(1)
break foo;
consle.log('本次不会输出')
}
console.log(3)
面试
{
foo:1
}
\