JS是弱类型语言,边解释边执行
JS引用方式:内嵌;外联;事件
JS输出方式:
| alert(提示窗) | 不识别标签,会阻塞程序 |
| conlose.log(控制台输出) | 不识别标签,方便调试 |
| document.write(页面文档输出) | 识别标签,会替换 |
JS注释:
| // | 单行注释 |
| /* */ | 多行注释 |
JS变量声明:var 变量名 = 值;
变量名命名规则:
- 由数字,字母,下划线_,美元符号$,组成
- 不能数字开头
- 区分大小写
- 不能使用关键字
数据类型:
| number | 数字类型(int整数,float浮点数,NaN不是数字...) |
| string | 字符串("数据",'数据') |
| boolean | 布尔(true,false) |
| null | 空 |
| undefined | 未定义(只声明,未赋值) |
| ... |
运算符与表达式:
| 算术运算符 | 赋值运算符 | 比较运算符 | |||
| + | = | > | |||
| - | += | < | |||
| * | -= | >= | |||
| / | *= | <= | |||
| % | 求余数;取模 | /= | == | 比较值是否相等 | |
| ** | 次方 | %= | != | 不等于 | |
| **= | === | 比较值和类型是否相等 | |||
| ++ | x++先使用,后运算 | !== | 值不相等 | ||
| -- | --x先运算,后使用 |
| 逻辑运算符 | && 与;且 | || 或 | ! 非 |
| 三元表达式 | bool表达式条件?值一:值二 | ||
类型转换:
- 自动转换
| ‘10’-'5' | 5 |
| "123456"*1 | 123456 |
| !"false" | false |
- 强制转换
数字,布尔互相转换(Number(x),Boolean(x))
| 10 | true |
| -10 | true |
| 0 | false |
| true | 1 |
| false | 0 |
任意类型转字符串
| String(x) | x.toString() |
字符串转换其他类型(有前提条件和要求):(parselnt(),parseFloat())
| "abc"--bool | true | 非空字符串转换布尔 真 |
| ""--bool | false | 空字符串转换布尔 假 |
| '123a'--int | 123 | paeseInt('123a')--->123 Number('123a')--->NaN |
| '1323.12'--float | 1323.12 | paeseFloat(x) |
常用对话框:
| alert(提示框) | 无返回值 |
| confirm(确认提示框) | 返回bool |
| prompt(用户输入提示框) | 返回字符串 |
程序流程语句
- 顺序结构:自上而下,自左向右执行
- 选择结构:根据条件选择不同的执行语句
| 单分支 | if(条件){} |
| 双分支 | if(条件){ }else |
| 多分支 | if(条件一){ }else if(条件二){ } .... else if(条件n){ }else{} |
| 分支嵌套 | |
| Switch等... |
- 循环结构:重复执行的语句,实现重用的效果
| while(){} | do{}while() | for() |
- 循环控制
| break | 结束整个循环 |
| continue | 结束本次循环,继续下一次循环 |
函数:为了完成某个功能的程序语句代码块
- 函数作用:重复使用
- 定义函数
function 函数([形式参数]){
函数体
return 返回值
}
- 调用函数:函数名([实际参数])
- 函数的参数:
- 形式参数:方法预定义的参数
- 实际参数:调用方法传递的值
- 函数返回值
return 返回值 (返回上级调用者,结束方法)
- 全局变量和局部变量
- 全局,声明在方法外部,其他方法公共使用(访问和修改)
- 局部,声明在方法内部,只有该方法使用(访问和修改)
- 匿名函数:没有名字的函数(一般用于JS事件的绑定)
| function(){} | !function(){} ~function(){} |
| ()=>{} | 箭头函数 |
- 计时器与定时器
计时器:按一定间隔时间,重复执行函数
| var id = setInterval(函数名,时间,参数) |
| var id = setInterval(匿名函数中调用,时间,参数) |
| clearInterval(id) 清楚计时器 |
定时器:按一定延迟时间,执行一次函数
| var id = setTimeout(函数名,时间,参数) |
| var id = setTimeout(匿名函数中调用,时间,参数) |
| clearTimeout(id) 清楚计时器 |
- 递归:方法内部调用自身,有明确的出口;执行效率底。编写效率高
- 闭包:方法内部声明方法,外部方法返回内部方法的引用,内部方法访问外部的全局变量
对象
- Math对象
| Math.PI | |
| Math.abs() | 绝对值 |
| Math.ceil() | 向上取整 |
| Math.floor() | 向下取整 |
| Math.round() | 四舍五入取整 |
| Math.sin()/cos()/tan() | 三角函数 |
| Math.asin()/acos()/atan() | 反三角函数 |
| Math.pow() | 次方 |
| Math.sqrt() | 开方 |
| Math.max() | 最大值 |
| Math.min() | 最小值 |
| Math.random() | 随机数0-1 |
- Date对象
| var x = new Date() | 当前时间对象 |
| var x = new Date(2021,10,2,3,5,1) | 自定义时间对象 2021.10.2 3:5:1 |
| var x = new Date('2021-10-12 8:12:12') | 自定义时间对象 2021.10.12 8:12:12 |
| x.getFullYear() | 获得年 |
| x.getMonth() | 获得月 0-11 |
| x.getDate() | 获得日 |
| x.getHours() | 获得小时 |
| x.getMinutes() | 获得分钟 |
| x.getSeconds() | 获得秒 |
| x.getDay() | 获得星期几 0-6 |
| x.getTime() | 获得时间戳 |

被折叠的 条评论
为什么被折叠?



