当前位置: 首页 > Web前端 > JavaScript

JS常用方法

时间:2023-03-27 15:13:07 JavaScript

常用方法stringrelated.repeat()str.repeat(8)//重复str8次//返回重复的string.indexOf()str.indexOf('a')//返回值为strstring第一个的索引occurrenceofthe'a'stringin//如果没有出现,return-1.search()str.search(str1)//返回值为str字符串中str1字符串第一次出现的索引(regular也可以接受)//如果没有出现,则返回-1.toUpperCase()&.toLowerCase()str.toUpperCase(str)&str.toLowerCase(str)//不要改变原来的字符串//返回值为大小写转换后的字符String.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'//返回值为替换后的string.substring()str.substring(startindex[,endindex])//从下标中提取startindex到endindex的字符串-1不改变原字符串//不接受负参数//如果省略endindex,则提取到末尾//返回值为包含开始字符但不包含停止字符的子字符串。substr()ECMAscript没有规范这个方法,所以反对使用它str.substr(startindex[,length])//从下标startindex(包括)开始提取一个长度为length的子串,不改变原来的string//如果startindex为负数,则从字符串末尾开始提取//返回值从下标startindex开始(包括)长度为length.slice()的子串相当于.substr()和.substring()的优点是集成版,推荐使用共享数组,效果类似str.slice(startindex[,endindex])//提取下标startindex到endindex-1的字符串,不改变原始字符串//如果startindex为Negative,则从字符串末尾开始提取//省略endindex提取到末尾。charCodeAt()str.charCodeAt(index)//返回值为指定下标处元素的Unicode数组。pop()&.push()arr.pop()//可以理解为出栈//返回值是被出栈(删除)的元素arr.push(item1,item2...)//可以理解aspushing//返回值为pushlength.shift()&.unshift()ofarr成功后arr.shift()//删除数组首位(出栈栈底的元素)//返回值为删除的元素arr.unshift(item1,item2...)//将元素添加到数组头部(压栈底)//返回值与length.concat()共享unshift成功后arr的字符串,效果类似arr.concat(arr1[,arr2,arr3...])//连接多个数组,不改变原数组//返回值为合并后的数组。sort()//a和b表示比较大小的两项,如果需要比较对象中的key,可以以(a.key,b.key)的形式传入,然后返回一个数组ofobjectssortedbykeysizearr.sort((a,b)=>{returna-b;})//按升序排序arr.sort((a,b)=>{returnb-a;})//降序//改变原数组//返回值也是排序后的数组.splice()arr.splice(index,num[,item1,item2...]);//将改变原数组//Num个元素来自arr中的index索引被删除,删除处添加一个新元素。item//返回值为被删除的元素.reduce()arr.reduce(callback[,initialValue])callback:function(total,currentValue,index,arr)//arr=[1,2,3]//注意:如果设置了initialValue,则在dex从0开始,第一个total和currentValue分别是initialValue和1//如果没有initialValue,currentValue(当前处理元素)会直接从index1开始,第一个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)=>returncurr.id)arr.map(function(currentValue,index,arr))//currentValuearrayCurrentvalue//indexindex//arrarrayitself//调用数组arr上的函数(或内置方法)//返回值为处理后的数组(不改变原数组).filter()arr.filter(callback)callback:function(value,index){returncondition;}//过滤掉满足条件的元素,重组数组//返回值为重组后的数组.every()arr.every(callback)callback:function(value,index){returncondition;}//确认数组的所有元素是否满足条件//返回值为boolean.some()arr.some(callback)callback:function(value,index){returncondition;}//判断数组是否为任意元素满足条件//返回值为boolean.find()arr.find(callback)callback:function(value,index,array){returncondition;}//找到第一个满足条件的元素//返回值为元素.findIndex()arr.findIndex(callback)callback:function(value,index,array){returncondition;}//找到第一个满足条件的元素//返回值为该元素的index.fill()arr.fill(target[,startIndex,endIndex])//在数组的startIndex和endIndex-1之间填充目标//改变原数组//返回值为填充后的数组Array.from()Array.from(item)//伪-array转换为数组(有长度的可以,所以字符串也可以)//返回值为转换后的数组Array.of()Array.of(num)//创建一个长度为num的数组Array.of(item1,item2...)//创建包含这些元素的数组//类比newArray()创建的空数组,避免了参数带来的重载问题//返回值与创建的数组函数有关。bind()function.bind(thisArg[,arg1,arg2...])//thisArg:作为调用函数时this指向的对象传递给目标函数的值//arg1:实参即'预设为e调用函数时的目标函数(即目标函数接收到的原始参数+'preset'的参数)//'preset'神奇的函数,请看'bind巧妙实现连续执行函数add.md'//与call/apply不同:如果arg传值是一对一的,则正常传值;如果arg作为数组传递,则默认将数组的全部内容传递给arg1。//返回值为目标函数的返回值。call()function.call(thisArg,arg1,arg2...)//thisArg:函数调用时作为this指向的对象传递给目标函数的值//arg1:调用###常用方法####**字符串相关**#####.repeat()str.repeat(8)//重复str8次//返回重复的字符串#####.indexOf()str.indexOf('a')//返回值为第一次出现的'a'stringinthestrstringIndex//如果没有出现则返回-1#####.search()str.search(str1)//返回值为str1字符串第一次出现的索引在str字符串中(规律性也可以接受)//没有出现则返回-1#####.toUpperCase()&.toLowerCase()str.toUpperCase(str)&str.toLowerCase(str)//不改变原字符串//返回值为改变大小写后的字符串#####.trim()str.trim()//去掉str开头和结尾的空白字符//返回值为运算后的字符串#####.startsWith()str.startsWith('a')//是否strstringstartswith'a''Beginning//返回值为true||false#####.includes()>数组是共享的,作用类似于str.includes('a'[,2])//str字符串位置2开始寻找'a'//的returnvalueisboolean#####.split()str.split('a')//在str中,以a为分割点将str分割成数组//返回值为分割后的数组#####.replace()str.replace('a','b')//将str中的所有'a'替换为'b'//返回值为替换后的字符串#####.substring()str.substring(startindex[,endindex])//提取下标startindex到endindex-1的字符串,不改变原字符串//不接受负参数//省略endindex提取到末尾//返回值是一个子串,包括开始处的字符但不包括停止处的字符#####.substr()>ECMAscript没有标准化此方法,因此不推荐使用它str.substr(startindex[,length])//从开始提取子字符串下标startindex(包含),长度为length,不改变原字符串//Iftstartindex为负数,从字符串末尾提取//返回值为下标startindex(包含)以长度为#####的子串开头.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...)//可以bepopped(deleted)理解为push//返回值是push成功后arr的长度#####.shift()&.unshift()arr.shift()//删除第一个位置ofthearray(出栈栈底的元素)//返回值为被删除的元素arr.unshift(item1,item2...)//在数组头部添加一个元素(pushthebottomofthestack)//返回值为unshift成功后arr的长度#####.concat()>共享字符串,效果类似arr.concat(arr1[,arr2,arr3...])//连接多个数组,不改变原数组//返回值为合并后的数组#####.sort()//ab代表比较大小的两项。如果需要比较对象中的key,可以以(a.key,b.key)的形式传入,然后返回按key大小排序的对象数组arr.sort((a,b)=>{returna-b;})//升序arr.sort((a,b)=>{returnb-a;})//降序//改变原数组//返回值也是排序后的数组#####.splice()arr.splice(index,num[,item1,item2...]);//将改变原数组//从索引index开始arr中的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(当前处理元素)会直接从index1开始,第一个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)=>returncurr.id)arr.map(function(currentValue,index,arr))//currentValue数组当前值//index索引//arr数组本身//调用函数(或内置方法)处理数组arr//返回值为处理后的数组(不要换原始数组)#####.filter()arr.filter(callback)callback:function(value,index){returncondition;}//过滤掉满足条件的元素,重新组织一个数组//返回value是重组后的数组#####.every()arr.every(callback)callback:function(value,index){returncondition;}//确认数组的所有元素是否满足条件//返回valueisboolean#####.some()arr.some(callback)callback:function(value,index){returncondition;}//确认数组中是否有元素满足条件//返回值为boolean#####.find()arr.find(callback)callback:function(value,index,array){返回条件;}//找到第一个满足条件的元素//返回值为该元素#####.findIndex()arr.findIndex(回调)回调:function(value,index,array){returncondition;}//找到第一个满足条件的元素//返回值为该元素的index#####.fill()arr.fill(target[,startIndex,endIndex])//在数组的startIndex和endIndex-1之间填充目标//改变原数组//返回值为填充后的数组#####Array.from()Array.from(item)//将伪数组转为数组(有长度的可以,所以字符串也可以)//返回值为转换后的数组#####Array.of()Array.of(num)//创建lengthasnum'sarrayArray.of(item1,item2...)//创建一个包含这些元素的数组//类比newArray()创建的一个空数组,避免了参数带来的重载问题//返回值为创建的数组####FunctionRelated#####.bind()function.bind(thisArg[,arg1,arg2...])//thisArg:传递给目标函数的值作为所指向的对象thiswhencallingthefunction//arg1:为目标函数“预设”的实际参数调用函数时(即目标函数接收到的原始参数+'preset'参数)//'preset'很神奇,请看'bind巧妙实现函数add的连续执行。md'//与call/apply不同:如果arg传值是一对一的,则正常传值;如果arg传值是一个数组,那么默认会将数组的全部内容传给arg1。//返回值为目标函数的返回值#####.call()function.call(thisArg,arg1,arg2...)//thisArg:调用函数时作为this指向的对象传递给目标函数的值//arg1:调用函数时传递给目标函数的实际参数//与bind不同/apply:逗号分隔的形参,一对一传值//返回值为目标函数的返回值#####.apply()function.appky(thisArg[,[arg1,arg2...]])//thisArg:函数调用时作为this指向的对象传递给目标函数的值//arg1:函数调用时传递给目标函数的实参//与bind不同/call:以数组的形式,数组元素的一对一传值//返回值由目标函数返回Value####Objectrelated#####Object.assign()newObj=Object.assign(obj1[,obj2...])//复制obj1,obj2...中的可枚举键值对#####innewObj#####Object.keys()Object.keys(obj)//返回值是obj中所有可枚举属性(键)的集合数组#####Object.values()Object.values(obj)//返回值是obj中所有可枚举属性(键)对应值的集合数组####数值处理#####parseInt(num)parseInt(.45)//0//OnlykeepintegersSection#####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//不接受数组//取最大值####Others#####eval()eval(string)//执行表达式或js语句在string##常用属性####Style#####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:对象调用函数时this指向的传递给目标函数的值//arg1:调用函数时传递给目标函数的实参//区别于bind/call:以数组的形式,数组元素都是一一传递//返回值是目标函数的返回值对象RelatedObject.assign()newObj=Object.assign(obj1[,obj2...])//复制其中的可枚举键值对obj1,obj2...innewObjObject.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)数学。floor(.55)//0//舍入Math.round(num)Math.round(.55)//1//舍入Math.max(num1,num2...)Math.max(1,3,2,4)//4//不接受数组//取最大值Otherseval()eval(string)//执行字符串中的表达式或js语句的常用属性样式user-select(c3)//user-选择无;禁止选择(文本等)//user-select:text;只禁止文本输入readonly//readonly="value"控制输入框是否只读。accept//只允许上传png和jpg格式的文件//只允许上传image/vedio/audio目录下的文件