JS有ES3,IE6支持,ES5,ES6,大部分浏览器都支持,ES2019四个版本。优点就是可以兼容旧网址。它的基本语法:借鉴C语言和JAVA语言
1. 表达式与语句
表达式一般都有值,输出值的,并且可以写在任何一个需要值的地方。语句:一般会改变环境(声明,赋值)
举例(表达式):
- 1+1表达式的值为2
- add(1,2)表达式的值为函数的返回值
- console.log表达式的值为函数本身
举例(语句):
- var a = 1这就是一个语句
注意1:大小写不可以写错 var a 和 var A是不同的 object 和 Object是不同的
注意2:大部分空格是没有实际作用和意义的,加回车大部分也不会有影响。不过需要注意return后面是不可以加回车的
2. 标识符的规则
- 规则:第一个字符,可以是Unicode字母或$或-或中文,不可以是数字
- 后面字符,除了上面所说,还可以有数字。
- 变量名是标识符
例子:
var_=1
var$=2
var_____=6
var 你好='hi'
- 注释有两种表示
//
/**/
3. if else语句
语句:
if(表达式){
语句1
}else{
语句2
}
语句:
function fn(){
if (表达式){
return 表达式
}
if (表达式){
return 表达式
}
return 表达式
}
变态情况:
- 表达式里的变态,a = 1
- 语句1里的变态,如嵌套 if else
- 语句2里的变态,如嵌套if else
- 缩进也可以很变态,如下
a=1
if(a===2)
console.log('a')
console.log('a等于2')
- Switch语句
例子:
switch(fruit){
case"banana":
//...
break;
case"apple":
//...
break;
defrult:
//...
}
- 问好冒号表达式
语法:表达式1?表达式2:表达式3

- &&短路逻辑:A&&B&&C&&D取第一个假值或D,并不会取true/false
看图:

- ||短路逻辑:A||B||C||D取第一个真值或D并不会取ture/false,有一个为真即为真
4. while for语句
- while循环
语法:while(表达式){语句}先判断表达式的真假,当表达式为真,执行语句,执行完再判断表达式的真假;当表达式为假,执行后面的语句。
例子一:

例子二(死循环):

- for循环
for循环是while循环的方便写法
语法:for(语句1;表达式2;语句3){ 循环体}
先执行语句1,然后判断表达式2,
如果为真,执行循环体,然后执行语句3;
如果为假,直接退出循环,执行后面的语句。
例子:

例子:
for(var i=0; i<5;i++){
setTimeout(()=>{console.log(i)})
}
输出结果:

5. break和continue
- break:在循环体内结束整个循环过程
- continue: 在结束本次循环以后,直接进行下一次的循环
例子(break):
for(var i=0; 1<10;i++){
if(i%2===1){
break
}
}
输出:1
例子(continue):
for(var i=0; 1<10;i++){
if(i%2===1){
continue
}else{
console.log(i)
}
}
输出:0,1,2,3,4,5,6,7,8,9
6. label
标记语句可以和 break 或 continue 语句一起使用。标记就是在一条语句前面加个可以引用的标识符(identifier)。
语法:
foo:{
console.log(1);
break foo;
console.log('本行不会输出')
}
console.log(2);
这里foo不是一个对象,而是一个标签。
{
foo:1
}
解释:foo是一个label,里面的语句就是1。