JavaScript 常见 built-in 函数
目录
- unescape
- Function
- eval
- Array
- Object
- Date
- RegExp
- hasOwnProperty
- Math
- parselnt
- shift
- unshift
- pop
- push
- slice
- splice
- split
- substring
- substr
- concat
- froCharCode
- charCodeAt
- atob, btoa
- Uint8Array
unescape
unescape() 函数可对通过 escape() 编码的字符串进行解码
语法
unescape(string)
说明
该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。
提示和注释
注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之
escape('\xa2')
"%A2"
unescape('\xa2')
"¢"
Function
函数实例化方法
var fun = new Function('a', 'return a') // 参数是a,返回a
相当于
function fun(a){return a}
eval
eval() 函数是将字符串当作 JS 代码执行
eval("x=10;y=20;document.write(x*y)")
Array
对象用于在单个的变量中存储多个值
new Array(element0, element1, ..., elementn);
Object
一系列对象的基础
> Object(111)
< Number {111}
> Object('111')
< String {"111"}
相当于
new Number(111)
Date
var d = new Date(); // 本地时间
js 定时器有以下两个方法:
- setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
- setTimeout() :在指定的毫秒数后调用函数或计算表达式。
RegExp
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
new RegExp(pattern, attributes);
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。
hasOwnProperty
Object的hasOwnProperty()
方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。
var o = new Object();
o.prop = 'exists';
function changeO() {
o.newprop = o.prop;
delete o.prop;
}
o.hasOwnProperty('prop'); // true
changeO();
o.hasOwnProperty('prop'); // false
Math
Math 对象用于执行数学任务
var x = Math.PI; // 返回PI
var y = Math.sqrt(16); // 返回16的平方根
round
round() 方法可把一个数字舍入为最接近的整数
Math.round(x);
random
返回介于 0(包含) ~ 1(不包含) 之间的一个随机数
Math.random();
parselnt
parseInt() 函数可解析一个字符串,并返回一个整数。
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
当忽略参数 radix , JavaScript 默认数字的基数如下:
- 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
- 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
- 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数
parseInt(string, radix)
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间
shift
shift 为删除数组内指定的值,若有多个相同的值,默认删除第一个
arrayObject.shift() // 参数,下标和值都可以
unshift
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度
pop
pop() 方法用于删除并返回数组的最后一个元素
arrayObject.pop()
push
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度
arrayObject.push(newelement1,newelement2,....,newelementX)
slice
slice() 方法可从已有的数组中返回选定的元素
arrayObject.slice(start,end)
返回值
返回一个新的数组,包含从 start 到 end的 arrayObject 中的元素
splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需 整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
howmany 必需 要删除的项目数量。如果设置为 0,则不会删除项目
返回值
包含被删除项目的新数组,如果有的话
split
split() 方法用于把一个字符串分割成字符串数组
stringObject.split(separator,howmany)
separato 必需 字符串或正则表达式,从该参数指定的地方分割 stringObject
howman 可选 该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
substring
substring() 方法用于提取字符串中介于两个指定下标之间的字符
stringObject.substring(start,stop)
start 必需
stop 可选 如果省略该参数,那么返回的子串会一直到字符串的结尾
substr
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符
stringObject.substr(start,length)
concat
concat() 方法用于连接两个或多个数组
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
arrayObject.concat(arrayX,arrayX,......,arrayX)
froCharCode
将 Unicode 编码转为一个字符:
var n = String.fromCharCode(65); // A
charCodeAt
返回字符串第一个字符的 Unicode 编码:
var str = "HELLO WORLD";
var n = str.charCodeAt(0); // 72
atob, btoa
atob() 方法用于解码使用 base-64 编码的字符串
window.atob(encodedStr)
btoa() 方法用于创建一个 base-64 编码的字符串。
该方法使用 "A-Z", "a-z", "0-9", "+", "/" 和 "=" 字符来编码字符串。
window.btoa(str)
使用方法:推荐
// atob
var s = new Buffer.from("待解码的字符", "base64").toString("binary")
// btoa
var s = new Buffer.from("待编码的字符", "binary").toString("base64")
也可以 npm install btoa-atob
Uint8Array
Uint8Array
Rannie`