JavaScript语法
一:值,变量
变量可以用来存值?
变量的声明方式:var let const (声明的变量名要注意关键字和保留字)
var存在变量提升,可以同一个变量名重复声明,后面的声明会覆盖前面的声明。let,const不允许重复声明,会报错。
二:数据类型
六种简单数据类型:undefined,null,boolean,number,string,symbol
复杂数据类型:object
三:流程控制
1. if语句:
if (表达式){ 语句1; ...... } else{ 语句2; ..... }
if (表达式1) { 语句1; }else if (表达式2){ 语句2; }else if (表达式3){ 语句3; } else{ 语句4; }
2.do-while语句:至少会执行一次
do{ 语句1,...} while(表达式)
3. while语句:可以不执行,要注意表达式不能永真
while(表达式){语句块,...}
4.for语句:参数都不是必填的
for(let i=0;i<10;i++){语句块,...}
5.for-in语句:用于遍历对象中的每个属性
let person = {fname:"John", lname:"Doe", age:25};
for (let x in person) { console.log(x) } //John Doe 25
6.for-of语句:用于遍历数组中的每个元素
for(const el of [1,2,3]){console.log(el)} //1 2 3
7.标签语句(这个我没用过)
8.break语句和continue语句:break直接跳出循环,执行循环后面的代码,continue跳出本次循环,会继续执行下一次的循环
9.with语句(严格模式下会报错):主要场景是针对一个场景反复操作
不用with
let a=location.search.substring(1)
let b=location.hostname
使用with
with(location){
let a = earch.substring(1)
let b - hostname}
10.switch语句:
switch(表达式) { case n: 代码块 break; case n: 代码块 break; default: 默认代码块 }
四:运算(表达式、运算符)
一:一元操作符
递加 ++i i++ , 递减 --i i-- , 一元加 + ,一元减 -
二:位操作符
按位非~:let num = ~25
按位与&: let result = 25 & 3 (均为1,则为1,否则为0)
按位或|: let result = 25 | 3 (有1则为1,否则为0)
按位异或^: let result = 25 ^ 3 (相同为1,不同为0)
左移<<: let oldvalue = 25 let newvalue = oldvalue << 5 (转换成二进制后开始将所有的数值向左移,空位补0。在左移的时候会保存符号位。)
有符号右移>>:let oldvalue = 25 let newvalue = oldvalue >> 5 (转换成二进制后,会将数值的所有32位右移,空位补0,同时保留符号位)
无符号右移>>>:let oldvalue = 25 let newvalue = oldvalue >>> 5 (符号位会跟着右移,当符号位为1的时候,空位补0,影响很大)
三:布尔操作符
逻辑非 !: let a = !true
逻辑与&&:let a = true && false(均为真则为真)
逻辑或||: let a = true || false(有真则为真)
四:乘性操作符
乘法运算符*:let result = 25 * 3
除法运算符/: let result = 66 / 11
取模运算符%:let result = 25 % 3
五:指数操作符
**:console.log(3**2) //9
**= : let a = 3 ; a**=2 ; console.log(a) //9
六:加性操作符
加法操作符+: let result = 1 + 2
减法操作符-: let result = 3 - 1
七:关系操作符
小于<: let result = 1 < 2
大于>: let result = 1 > 2
小于等于<=: let result = 1 <= 2
大于等于>=: let result = 1 >= 2
八:相等操作符
等于==,不等于!= (会进行强制类型转换)
全等===,不全等!==(不会判断类型)
九:条件操作符
let max = (num1 > num2)? num1 : num2
十:赋值操作符
简单赋值: =
乘后赋值:*=
除后赋值:/=
取模后赋值:%=
加后赋值:+=
减后赋值:-=
左移后赋值:<<=
右移后赋值:>>=
无符号右移后赋值:>>=
十一:逗号操作符
let num1 = 1, num2 = 2,num3 = 3;
五:函数
一:函数声明
function sum(num1,num2) {
return num1 + num2 }
二:函数表达式
let sum = function sum(num1,num2) {
return num1 + num2 }
三:回掉函数
一个函数可以作为另一个函数的参数,这个作为参数的函数就叫回调函数,以回调函数作为参数的函数叫做主函数
四:箭头函数
let arrowsum = (a,b) => { return a + b }