JS 常用方法

常用方法

字符串相关

.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种类下的文件

你可能感兴趣的:(javascriptcss)