常见非指纹`built-in`函数
-
unescape
:解码用法unescape('visit%20w3cschool%21') // ->visit w3cschool!
-
Function
:函数实例化方法var fun = new Function("a", "return a") //前面是形参,后面是返回的内容 等价于 function fun(a){ return a }
-
eval
:把字符串当做js代码执行,并且会执行一个虚拟机eval('alert("zx")')
Array():执行会得到一个空的数组
Object():执行会得到一个空的对象传参的话:
Object(111): // ->Number {111}会返回一个Number的构造函数,相当于new Number()
Object(“111”): // ->String{“111”} -
Date(): 会返回本地时间,并非服务器时间,“Fri Apr 16 2021 20:29:33 GMT+0800 (中国标准时间)”
a = new Date() a可以执行一些方法,比如getDate(), getDay()
-
RegExp
: 正则 //有点忘了
a = new RegExp("n?") // 定义一个规则 a.exec("asdffgghhjjnjk") //去匹配一个字符串
-
indexof
:会返回索引值arr = ['cookie', 'ck', 'cck'] arr.indexof('cookie') //会返回cookie的索引值
-
hasOwnProperty
:检测一个属性是否是一个对象的自有属性function F(){ this.name = "自有属性" } F.prototype.name = "继承属性" var f = new F() f.hasOwnProperty("name")
-
decodeURIComponent encodeURI encodeURIComponent
:加密解密urlencode('a 2') // -> a%202 decodeURIComponent('a%202') // ->'a 2'
-
Math
:Math.random Math.round四舍五入
Math.round(0.5) // -> 1
-
parseInt
:类型转换parseInt('1555') // -> 1555 parseInt(15.55) // -> 15 parseInt('15.55') // -> 15
-
Array
数组操作:push
在数组最后面添加一个元素
unshift
:在数组前面添加一个元素
shift
:删除数组内指定元素,若有多个相同的,默认删除第一个
pop
:删除数组最后一个元素,并返回这个元素
concat
:合并数组并返回,可以传参多个数组,没有去重功能var arr = new Array() arr.push(4) arr.push(3) arr.push(2) arr.push(1) -->[4,3,2,1] arr2 = arr.concat(arr1, ar3) //合并数组,没有去重功能
-
splice, slice
:拆分数组,splice
改变原数组,slice
:不改变原数组var arr = [1,2,3] arr.splice(0,1) //-> [1] 原数组:->[2,3]
-
字符串操作:
slice splice split substring substr concat
splice(index,howmany,item1,itemx) index:必填,整数,规定添加或删除的位置,使用负数可从数组结尾处规定位置 howmany:必填, 要删除几个 item1, itemx:向数组中添加的元素
-
split
按照指定元素把字符串切分为数组,join
与split
相反"jahflkah;sfdhjnklacnjkla heflanuijf a lkca".split("s")
-
substring(start, end)
:如果开始到结束,第一个参数大于第二个参数,会自动交换两个参数的位置 -
substr(start, length)
:从字符串开始的位置,字符串的长度去处理这个数组,抽取指定长度的字符串"wertyuioplkjh".substr(5,3) ->"uio" 如果3,不传的话,则从下标位置一直取到最后
-
fromCharCode charCodeAt
:字符串与ascii码转换
charCodeAt:把字符串转为ascii码 fromCharCode:把ascii码转变为字符串
-
atob btoa Uint8Array ArrayBuffer Int32Array Int16Array
:与加密有关btoa -> binary to ascii //编码操作 atob -> ascii to binary //解码操作
-
setTimeout clearTimeout setInterval
:定时器// setTimeout:延迟多少多少秒时间执行一次 // setInterval:按照时间间隔一直执行 // clearTimeout:清除定时器 setTimeout(function(){}, 500)
-
三元表达式,嵌套的三元表达式
a = 10 x = a > 10 ? 2 : a > 5 ? 7: 8 //解析:a > 10吗?不大于10, 走a>5吗?大于5 所以x=7 a = 11 x = a > 10 ? 2 : a > 5 ? 7: 8 // 2