数据类型转换
- Number转换为数字类型
- parseInt 转换为一个整数
- parseFloat 返回一个浮点数
隐式类型转换
** + - / % **
数字比较大小
字符串比较位字符
关于NaN
- NaN表示进行了非法的运算操作
- NaN是数字类型但不是数字
- NaN与自己本身也不相等
关于isNaN
- isNaN用来判断某些值是不是数字
- isNaN讨厌数字,判断数字直接显示false
- 内部会根据Number转换
判断
-
indexOf 判断数值是否存在,返回-1表示不存在
-
typeof判断数据类型,不能判断数组,数组直接返回object
-
charAt 返回所选位置字符
let num = '123e'
console.log(num.charAt(2)); //3
执行顺序
- script 全局变量 全局函数 都是自上而下执行
- 函数 由里到外 执行
数组的处理
- 数组清零
var arr = ['1111', '2222']
arr.length = 0
arr = []
- 分割字符串split
- 把数组内容拼接成字符串join
- unshift 往数组前面添加值
- pop 删除数组的最后一个
- splice可以删除、替换、添加
- contact 连接数组
- reverse 颠倒数组顺序
- sort排序
var arr = [1,2,3,4,5,6,7,8]
console.log(arr.sort(function(a,b){
return Math.random()-0.2
})) //将数组顺序打乱
console.log(arr.sort(function(a,b){
return a-b
})) //将数组从打到小排序 b-a从小到大排序
- 生成随机数 1000-2000以内的100个随机数
let x = 1000
let y = 2000
function randomFun() {
var arr = []
for (let i = 0; i < 100; i++) {
arr.push(Math.round(Math.random() * (y - x) + x))
}
return arr
}
- 0-x
Math.round(Math.random() * x)
- 1-x
Math.ceil(Math.random() * x)
- abs 返回数字的绝对值
- ceil 对数值进行上舍入
- floor对数字进行下舍入
let num = -0.5
console.log(Math.floor(num)); //0
console.log(Math.ceil(num)); //1
console.log(Math.abs(num)); //0.5
布尔值
- 任何对象转换为Boolean值都为true
- 在js中 只有 0,-0 ,NaN,“” ,null ,underfind 这6个值转换为Boolean值时为false
- underfind是null派生的
underfind==null 返回true
underfind===null 返回 false
js的对象
内置对象
Array | 函数参数集合 |
---|---|
Boolea | 布尔对象 |
Array | 数组 |
Date | 日期时间 |
Error | 异常对象 |
Function | 函数构造器 |
Math | 数学对象 |
Number | 数值对象 |
Object | 基础对象 |
RegExp | 正则表达式对象 |
String | 字符串对象 |
宿主对象
- window
- Document
- Element
- form
- image
自定义对象
开发人员定义的对象
js全局函数
函数 | 描述 |
---|---|
decodeURL | 解码某个编码的URL |
decodeURLComponent() | 解码一个编码的组件 |
encodeURL | 把字符串编码为URL |
encodeURLComponent() | 把字符串编码为URL组件 |
escape() | 对字符串进行编码 |
isFinite() | 检查某个值是否为有穷大的数 |
isNaN() | 检查某个数是否是数字 |
Number() | 把对象的值转换为数字 |
parseInt() | 解析一个字符串并返回整数 |
parseFloat() | 解析一个字符串并返回浮点数 |
String() | 把对象的值转换为字符串 |
unescape() | 对由escape()编码的字符串进行解码 |