常用方法
字符串相关
.repeat()
str.repeat(8)
//把str重复8次
//返回重复后的字符串
.indexOf()
str.indexOf('a')
//返回值为str字符串中首次出现'a'字符串的索引
//若没出现则返回-1
.search()
str.search(str1)
//返回值为str字符串中首次出现str1字符串的索引(也可接收正则)
//若没出现则返回-1
.toUpperCase() & .toLowerCase()
str.toUpperCase(str) & str.toLowerCase(str)
//不改变原字符串
//返回值为改变大小写后的字符串
.trim()
str.trim()
//去除str开头和结尾的空白字符
//返回值为操作后的字符串
.startsWith()
str.startsWith('a')
//str字符串是否以'a'开头
//返回值为true || false
.includes()
数组共有,效果类似
str.includes('a'[, 2])
//str字符串位置2开始查找'a'
//返回值为boolean
.split()
str.split('a')
//在str中,以a为分割点,将str分割为数组
//返回值为分割后的数组
.replace()
str.replace('a','b')
//将str中的'a'全部替换为'b'
//返回值为替换后的字符串
.substring()
str.substring(startindex[,endindex])
//提取从下标startindex到endindex-1的字符串,不改变原字符串
//不接受负参
//省略endindex则提取至末尾
//返回值为包括 start 处的字符,但不包括 stop 处字符的子字符串
.substr()
ECMAscript 没有对该方法进行标准化,因此反对使用它
str.substr(startindex[,length])
//提取从下标startindex(包括)开始,长度为length的子串,不改变原字符串
//若startindex为负,则是从字符串末尾开始提取
//返回值为下标startindex(包括)开始,长度为length的子串
.slice()
相当于是.substr()和.substring()的优点集成版,建议使用
数组共有,效果类似
str.slice(startindex[,endindex])
//提取从下标startindex到endindex-1的字符串,不改变原字符串
//若startindex为负,则是从字符串末尾开始提取
//省略endindex则提取至末尾
.charCodeAt()
str.charCodeAt(index)
//返回值为指定下标处元素的Unicode
数组相关
.pop() & .push()
arr.pop()
//可以理解为出栈
//返回值为被出栈(删除)的元素
arr.push(item1,item2...)
//可以理解为入栈
//返回值为push成功后arr的length
.shift() & .unshift()
arr.shift()
//删除数组第一位(pop栈底的元素)
//返回值为被删除的元素
arr.unshift(item1,item2...)
//向数组头部添加元素(push栈底)
//返回值为unshift成功后arr的length
.concat()
字符串共有,效果类似
arr.concat(arr1[,arr2,arr3...])
//连接多个数组,不改变原数组
//返回值为拼合后的数组
.sort()
//a和b代表对比大小的两项,若需要对比的是对象中的键,则可以用(a.key, b.key)的形式传入,然后返回的是以key大小排序的对象数组
arr.sort((a,b)=>{
return a-b;
})
//升序排列
arr.sort((a,b)=>{
return b-a;
})
//降序排列
//改变原数组
//返回值也为排序后的数组
.splice()
arr.splice(index,num[,item1,item2...]);
//会改变原始数组
//arr中索引index起的num个元素被删除,并在删除处添加新元素item
//返回值为被删除的元素
.reduce()
arr.reduce(callback[,initialValue])
callback:function(total,currentValue,index,arr)
//arr = [1, 2, 3]
//注意:若设定了initialValue,则index从0开始,首次的total和currentValue分别为initialValue和1
//若没有initialValue,currentValue(当前处理元素)会直接从索引1开始,首次的total和currentValue分别为index0和index1的元素
//简而言之是一个高端版for循环
.indexOf()
arr.indexOf('a')
//返回值为arr数组中首次出现'a'项的索引
//若没出现则返回-1
.copyWithin()
arr.copyWithin(target[,startIndex,endIndex])
//以startIndex开始,endIndex-1结束的元素集合覆盖从target开始的本数组内的元素
//改变原数组
//返回值为覆盖后的原数组
·map()
可以用来提取对象数组中的某一个属性键值对的集合
objArr.map((curr)=>return curr.id)
arr.map(function(currentValue,index,arr))
//currentValue 数组当前值
//index 索引
//arr 数组本身
//对数组arr调用函数(或内置方法)处理
//返回值为处理后的数组(不改变原数组)
.filter()
arr.filter(callback)
callback: function(value,index){
return 条件;
}
//筛选出符合条件的元素,重新组成一个数组
//返回值为重组的数组
.every()
arr.every(callback)
callback:function(value,index){
return 条件;
}
//确认数组的元素是否全部符合条件
//返回值为boolean
.some()
arr.some(callback)
callback:function(value,index){
return 条件;
}
//确认数组是否有任一元素符合条件
//返回值为boolean
.find()
arr.find(callback)
callback:function(value,index,array){
return 条件;
}
//找出第一个符合条件的元素
//返回值为该元素
.findIndex()
arr.findIndex(callback)
callback:function(value,index,array){
return 条件;
}
//找出第一个符合该条件的元素
//返回值为该元素的索引
.fill()
arr.fill(target[,startIndex,endIndex])
//在数组的startIndex到endIndex-1之间填充target
//改变原数组
//返回值为填充后的数组
Array.from()
Array.from(item)
//将伪数组转化为数组(有length的都可以,所以字符串也可以)
//返回值为转化后的数组
Array.of()
Array.of(num)
//创建length为num的数组
Array.of(item1,item2...)
//创建包含这些元素的数组
//类比new Array()创建的空数组,避免了参数引起的重载问题
//返回值为创建的数组
函数相关
.bind()
function.bind(thisArg[,arg1,arg2...])
//thisArg:调用function时作为 this指向的对象 传给目标函数的值
//arg1:调用function时'预置'给目标函数的实参(即目标函数接收的原参数+'预置'的参数)
//'预置'妙用,请看'bind巧妙实现连续执行函数add.md'
//区别于call/apply:若arg传值为一对一,则正常传值;若arg传值为数组,则默认该数组内容整体传给arg1
//返回值为目标函数返回值
.call()
function.call(thisArg, arg1, arg2...)
//thisArg:调用function时作为 this指向的对象 传给目标函数的值
//arg1:调用### 常用方法
#### **字符串相关**
##### .repeat()
str.repeat(8)
//把str重复8次
//返回重复后的字符串
##### .indexOf()
str.indexOf('a')
//返回值为str字符串中首次出现'a'字符串的索引
//若没出现则返回-1
##### .search()
str.search(str1)
//返回值为str字符串中首次出现str1字符串的索引(也可接收正则)
//若没出现则返回-1
##### .toUpperCase() & .toLowerCase()
str.toUpperCase(str) & str.toLowerCase(str)
//不改变原字符串
//返回值为改变大小写后的字符串
##### .trim()
str.trim()
//去除str开头和结尾的空白字符
//返回值为操作后的字符串
##### .startsWith()
str.startsWith('a')
//str字符串是否以'a'开头
//返回值为true || false
##### .includes()
> 数组共有,效果类似
str.includes('a'[, 2])
//str字符串位置2开始查找'a'
//返回值为boolean
##### .split()
str.split('a')
//在str中,以a为分割点,将str分割为数组
//返回值为分割后的数组
##### .replace()
str.replace('a','b')
//将str中的'a'全部替换为'b'
//返回值为替换后的字符串
##### .substring()
str.substring(startindex[,endindex])
//提取从下标startindex到endindex-1的字符串,不改变原字符串
//不接受负参
//省略endindex则提取至末尾
//返回值为包括 start 处的字符,但不包括 stop 处字符的子字符串
##### .substr()
> ECMAscript 没有对该方法进行标准化,因此反对使用它
str.substr(startindex[,length])
//提取从下标startindex(包括)开始,长度为length的子串,不改变原字符串
//若startindex为负,则是从字符串末尾开始提取
//返回值为下标startindex(包括)开始,长度为length的子串
##### .slice()
> 相当于是.substr()和.substring()的优点集成版,建议使用
>
> 数组共有,效果类似
str.slice(startindex[,endindex])
//提取从下标startindex到endindex-1的字符串,不改变原字符串
//若startindex为负,则是从字符串末尾开始提取
//省略endindex则提取至末尾
##### .charCodeAt()
str.charCodeAt(index)
//返回值为指定下标处元素的Unicode
#### 数组相关
##### .pop() & .push()
arr.pop()
//可以理解为出栈
//返回值为被出栈(删除)的元素
arr.push(item1,item2...)
//可以理解为入栈
//返回值为push成功后arr的length
##### .shift() & .unshift()
arr.shift()
//删除数组第一位(pop栈底的元素)
//返回值为被删除的元素
arr.unshift(item1,item2...)
//向数组头部添加元素(push栈底)
//返回值为unshift成功后arr的length
##### .concat()
> 字符串共有,效果类似
arr.concat(arr1[,arr2,arr3...])
//连接多个数组,不改变原数组
//返回值为拼合后的数组
##### .sort()
//a和b代表对比大小的两项,若需要对比的是对象中的键,则可以用(a.key, b.key)的形式传入,然后返回的是以key大小排序的对象数组
arr.sort((a,b)=>{
return a-b;
})
//升序排列
arr.sort((a,b)=>{
return b-a;
})
//降序排列
//改变原数组
//返回值也为排序后的数组
##### .splice()
arr.splice(index,num[,item1,item2...]);
//会改变原始数组
//arr中索引index起的num个元素被删除,并在删除处添加新元素item
//返回值为被删除的元素
##### .reduce()
arr.reduce(callback[,initialValue])
callback:function(total,currentValue,index,arr)
//arr = [1, 2, 3]
//注意:若设定了initialValue,则index从0开始,首次的total和currentValue分别为initialValue和1
//若没有initialValue,currentValue(当前处理元素)会直接从索引1开始,首次的total和currentValue分别为index0和index1的元素
//简而言之是一个高端版for循环
##### .indexOf()
arr.indexOf('a')
//返回值为arr数组中首次出现'a'项的索引
//若没出现则返回-1
##### .copyWithin()
arr.copyWithin(target[,startIndex,endIndex])
//以startIndex开始,endIndex-1结束的元素集合覆盖从target开始的本数组内的元素
//改变原数组
//返回值为覆盖后的原数组
##### ·map()
> 可以用来提取对象数组中的某一个属性键值对的集合
>
> objArr.map((curr)=>return curr.id)
arr.map(function(currentValue,index,arr))
//currentValue 数组当前值
//index 索引
//arr 数组本身
//对数组arr调用函数(或内置方法)处理
//返回值为处理后的数组(不改变原数组)
##### .filter()
arr.filter(callback)
callback: function(value,index){
return 条件;
}
//筛选出符合条件的元素,重新组成一个数组
//返回值为重组的数组
##### .every()
arr.every(callback)
callback:function(value,index){
return 条件;
}
//确认数组的元素是否全部符合条件
//返回值为boolean
##### .some()
arr.some(callback)
callback:function(value,index){
return 条件;
}
//确认数组是否有任一元素符合条件
//返回值为boolean
##### .find()
arr.find(callback)
callback:function(value,index,array){
return 条件;
}
//找出第一个符合条件的元素
//返回值为该元素
##### .findIndex()
arr.findIndex(callback)
callback:function(value,index,array){
return 条件;
}
//找出第一个符合该条件的元素
//返回值为该元素的索引
##### .fill()
arr.fill(target[,startIndex,endIndex])
//在数组的startIndex到endIndex-1之间填充target
//改变原数组
//返回值为填充后的数组
##### Array.from()
Array.from(item)
//将伪数组转化为数组(有length的都可以,所以字符串也可以)
//返回值为转化后的数组
##### Array.of()
Array.of(num)
//创建length为num的数组
Array.of(item1,item2...)
//创建包含这些元素的数组
//类比new Array()创建的空数组,避免了参数引起的重载问题
//返回值为创建的数组
#### 函数相关
##### .bind()
function.bind(thisArg[,arg1,arg2...])
//thisArg:调用function时作为 this指向的对象 传给目标函数的值
//arg1:调用function时'预置'给目标函数的实参(即目标函数接收的原参数+'预置'的参数)
//'预置'妙用,请看'bind巧妙实现连续执行函数add.md'
//区别于call/apply:若arg传值为一对一,则正常传值;若arg传值为数组,则默认该数组内容整体传给arg1
//返回值为目标函数返回值
##### .call()
function.call(thisArg, arg1, arg2...)
//thisArg:调用function时作为 this指向的对象 传给目标函数的值
//arg1:调用function时传给目标函数的实参
//区别于bind/apply:逗号分隔形参,一对一传值
//返回值为目标函数返回值
##### .apply()
function.appky(thisArg[,[arg1, arg2...]])
//thisArg:调用function时作为 this指向的对象 传给目标函数的值
//arg1:调用function时传给目标函数的实参
//区别于bind/call:以数组的形式,数组元素一对一传值
//返回值为目标函数返回值
#### 对象相关
##### Object.assign()
newObj = Object.assign(obj1[,obj2...])
//将obj1,obj2...中可枚举的键值对复制newObj中
##### Object.keys()
Object.keys(obj)
//返回值为obj中所有可枚举属性(键)的集合数组
##### Object.values()
Object.values(obj)
//返回值为obj中所有可枚举属性(键)对应值的集合数组
#### 数值处理
##### parseInt(num)
parseInt(.45)
//0
//只保留整数部分
##### Math.ceil(num)
Math.ceil(.45)
//1
//向上取整
##### Math.floor(num)
Math.floor(.55)
//0
//向下取整
##### Math.round(num)
Math.round(.55)
//1
//四舍五入
##### Math.max(num1,num2...)
Math.max(1,3,2,4)
//4
//不接受数组
//选取最大值
#### 其他
##### eval()
eval(string)
//执行string内的表达式或js语句
## 常用属性
#### 样式
##### ·user-select(c3)
//user-select:none; 禁止选中(文本等)
//user-select:text; 仅禁止选中文本
#### input
##### ·readonly
//readonly="value" 控制输入框是否为只读状态
##### ·accept
//仅允许上传png和jpg格式的文件
//仅允许上传image/vedio/audio种类下的文件
function时传给目标函数的实参
//区别于bind/apply:逗号分隔形参,一对一传值
//返回值为目标函数返回值
.apply()
function.appky(thisArg[,[arg1, arg2...]])
//thisArg:调用function时作为 this指向的对象 传给目标函数的值
//arg1:调用function时传给目标函数的实参
//区别于bind/call:以数组的形式,数组元素一对一传值
//返回值为目标函数返回值
对象相关
Object.assign()
newObj = Object.assign(obj1[,obj2...])
//将obj1,obj2...中可枚举的键值对复制newObj中
Object.keys()
Object.keys(obj)
//返回值为obj中所有可枚举属性(键)的集合数组
Object.values()
Object.values(obj)
//返回值为obj中所有可枚举属性(键)对应值的集合数组
数值处理
parseInt(num)
parseInt(.45)
//0
//只保留整数部分
Math.ceil(num)
Math.ceil(.45)
//1
//向上取整
Math.floor(num)
Math.floor(.55)
//0
//向下取整
Math.round(num)
Math.round(.55)
//1
//四舍五入
Math.max(num1,num2...)
Math.max(1,3,2,4)
//4
//不接受数组
//选取最大值
其他
eval()
eval(string)
//执行string内的表达式或js语句
常用属性
样式
·user-select(c3)
//user-select:none; 禁止选中(文本等)
//user-select:text; 仅禁止选中文本
input
·readonly
//readonly="value" 控制输入框是否为只读状态
·accept
//仅允许上传png和jpg格式的文件
//仅允许上传image/vedio/audio种类下的文件