JS版本
ES3 ,ES5,ES6,以及ES2019(与ES6差别不大)
JS之父对JS的评价
“它的优秀之处并非原创,它的原创之处并不优秀”
表达式与语句
表达式
1+2 表达式的值为3
add(1,2) 表达式的值为函数的 返回值
console.log表达式的值为函数本身
console.log(3)表达式的值为多少? // undefined
语句
var a= 1 是一个语句
表达式和语句的区别
* 表达式一般都有值,语句可能有也可能没有
* 语句一般会改变环境(声明,赋值)
* 上面两句话并不是绝对的
大小写敏感
* var a 和var A是不同的
* object 和Object是不同的
* function和Function是不周的
空格
* var a=1 和 var a = 1 没有区别
* 加加车大部分时候也不影响
* 只有一个地方不能加回车,那就是return后面 加了之后(默认为return undefined)
标识符
* 第一个字符,可以是Unicode字母或者$或_或中文
* 后面的字符 除了上面所说,还可以有数字
变量名是标识符
var _=1
var $ = 2
var _____=6
var 你好 = ‘hi’
区块 block ({}这个就是区块block)
* 把代码包在一起
{
let a = 1
let b = 2
}
* 常常与if/for/while等合用
if ……else……语句
if(a ===1){
console.log(执行a===1结果)
}else{
console.log(执行a不等于1结果)
}
if……else if……else语句
var a=1
if(a<==10){
console.log(小于等于十结果)
}else if(10<==a<==20){
console.log(小于等于二十结果)
}else{
console.log(其它结果)
}
次推荐写法
function fn(){
if(表达式){
return 表达式
}
if(表达式){
return 表达式
}
return 表达式
}
问号冒号表达式
a?b:c是什么意思
这个是条件表达式,表示如果a为真,则表达式值为b,如果a为假,则表达式值为c
&& 短路逻辑
A && B && C && D 取第一个假值或D
并不会取true/false A&&B fn&&fn()
|| 短路逻辑
A || B || C|| D 取第一个真值 如果前面没有真值 那就取最后一个
并不会取true/false A ||B A = A||B
while 循环
语法
* while(表达式){语句}
* 判断式的真假
* 当表达式为真,执行语句,执行完再判断
* 当表达式为假,执行后面的语句
for 循环
语法
for(var i=0;i<arr.length;i++){}
break continue
breark 是直接退出当前不执行后面的语句
continue是退出当前循环 执行下面的语句
label
{a:1}请部它是对象吗?不是
网友评论