复杂的事情简单做,简单的事情简单做
涉及知识点
- 执行环境
- 变量和常量
- 数据类型
- 数据类型转换
- 运算符
- 选择语句
- 循环语句
- 函数创建与调用
- 变量的作用域
- 函数的作用域
- 递归
- 匿名函数
- 系统函数
- 对象
- 数组
- 字符串对象
- 匹配模式
- Math对象
- Date对象
- Number对象
- Boolean对象
- 错误处理
以上罗列的,其实涉及的知识点并不多,先从全局视角看待,再一一看其中涉及到到的实用内容,也不过如此而已。
一、执行环境
客户端和服务器端 , 客户端一般指我们的程序运行在的浏览器,服务端指借助nodeJS使程序跑在服务器上。
二、变量和常量
- 变量
var 声明,命名规则: 不能以数字开头,不能使用关键字和保留字 - 常量
const 声明, 规则: 声明后就不能再重新赋值
三、数据类型
- 原生类型
数值型、字符串型、布尔型、未定义undefined、null空 - 引用类型
数组,对象,存地址,通过地址引用真实存储的数据
四、数据类型转换
- 隐式转换
底层程序代劳, 运算时转换
1.加法的转化数值型 + 字符串 = 字符串
数值型 + 布尔型 = 数值型
布尔型 + 字符串 = 字符串
2.乘除减
通通转为数值型 - 强制转换
通过内置的方法,手动转换
1.转为整型 parseInt
2.转为浮点型 parseFloat
3.转为数值型 Number
4.转为字符串型 toString()
五、运算符
记忆下就好了,没什么的
- 算数运算符 + - * / % ++ –
- 比较运算符 > < >= <= == != === !==
- 逻辑运算符 || && !
- 位运算符 & | ^ << >>
- 赋值运算符 = += -= *= /= %=
- 三目运算符 条件表达式 ? 语句1 : 语句2
六、选择语句
就 if else 和 switch case 语句
if(条件表达式){
语句
}
if(条件表达式){
语句1
}else{
语句2
}
if(条件1){
语句1
}else if(条件2) {
语句2
}...
switch(表达式){
case 1:
语句;
break;
...
default;
}
七、循环语句
就while 和 for 语句
while(循环条件){
循环体
}
do{
循环体
}while(循环条件);
for(初始值,循环条件,i的变化) {
循环体
}
八、函数相关
- 创建
function 函数名称(形参){
函数体;
return 返回值
}
- 调用
函数名称(实参)
九、变量的作用域
- 全局作用域: 全局变量
- 函数(局部)作用域: 局部变量
- 变量提升(预加载) 使用var 关键字声明的变量提升到所在作用域的最前边
十、函数的作用域
- 全局作用域
- 函数(局部)作用域
- 函数提升
十一、递归 recursion
- 在函数的内部调用自身
- 结合关键字return
- 具有跳出条件
十二、匿名函数
- 创建 函数表达式
- 自调用
(function(a){
函数体
})()
- 回调函数
sort(function(a,b){
return a-b;
})
十三、系统函数
- encodeURI 编码
- decodeURI 解码
- parseInt 转整
- parseFloat 转浮
- isNaN 判断是否NaN
- isFinite 判断无限
- eval 运行环境
十四、对象
- 分类: 三大类 内置、宿主、自定义对象
- 自定义对象:
- 对象字面量
- 内置构造函数
- 自定义构造函数
- 遍历对象 for… in
- 检测是否含有属性
- ‘属性名’ in 对象
- 对象。hasOwnProperty(‘属性名’)
- 对象.属性名 === undefined
- 对象中的方法
{
name:'tom',
say: function(){}
}
十五、数组
- 创建:
- 数组字面量
- 内置构造函数 new Array()
- 数组的访问:
- 数组[下标]
- 数组长度 Array.length
- 遍历数组元素: for 循环和. for…in循环
- 数组方法
不要太简单哦,用一下就会了
- toString 转为字符串
- join 指定分隔为字符串
- concat 连接组合
- slice(start,end) 切片
- splice(start,count,value) 删除 ,追加,替换
10.reverse 反转 - sort 排序
- push 后追加
- pop 后弹出
- unshift 前追加
- shift 前弹出
十六、字符串对象
- 创建: new String()
- 转义字符: \
- 方法:
- length 长度
- charAt() 指定位置的字符
- indexOf() 指定字符所在位置
- lastIndexOf() 从后面开始查找指定字符所在位置
- toUpperCase() 转大写
- toLowerCase() 转小写
- slice(start,end) 切片
- substr(start,count) 按指定长度切片
- substring(start ,end) 按指定位置切片
10.split() 按指定符号切分为数组 - String.formCharCode() 将编码转字符
十七、匹配模式
- replace() ig
- match()
- search()
十八、Math对象
- PI 圆周率
- abs() 取正
- ceil() 向上取整
- floor() 向下取整
- round() 四舍五入
- max() 取最大值
- min() 取最小值
- pow(2,3) 取幂值
- random() 随机数
十九、Date对象
- 创建:
哪个简单选哪个
new Date(‘2099/08/18 9:11:30’);
new Date(2018,10,18,9,10,30);
new Date();
new Date(1000*60) - 获取日期时间:
- getFullYear 年
- getMonth 月
- getDate 日
- getHours 小时
- getMinutes 分
- getSeconds 秒
- getMillseconds 毫秒
- getDay 某周的一天
- getTime 返回距 1970 年 1 月 1 日之间的毫秒数
- 设置日期时间
- setFullYear 年
- setMonth 月
- setDate 日
- setHours 小时
- setMinutes 分
- setSeconds 秒
- setMilliseconds 毫秒
- setTime 设置距 1970 年 1 月 1 日之间的毫秒数
- 本地化字符串
- toLocaleString 根据本地时间把 Date 对象转换为字符串
- toLocaleDateString 根据本地时间把 Date 对象的日期部分转换为字符串
- toLocaleTimeString 根据本地时间把 Date 对象的时间部分转换为字符串
二十、Number对象
- 创建: new Number(数据)
- 属性/方法:
- Number.MAX_VALUE 最大数值
- Number.MIN_VALUE 最小数值
- toFixed(n) 舍五入为指定小数位数
- toString() 转为字符串
二十一、 Boolean对象
- 创建: new Boolean()
- 方法: 就一个 toString()
二十二、 错误处理
- 语法错误, 引用错误,类型错误,范围错误
- 处理错误
try{
尝试执行可能出现错误
}catch(err){
err// 产生错误的信息
执行其他替代方案
}