unescape
unescape() _函数_可对通过 escape() 编码的字符串进行解码。
unescape("abcdefg")
'abcdefg'
unescape("\xa2")
'¢'
unescape("Vistit%20W3school%21")
'Vistit W3school!'
Function
Function类似于变量声明
var fun = new Function("a","return a");
// new一个方法 函数传参是a 返回值返回的是这个a
// 相等于
function fun(a){
return a
}
eval
eval 作用是将字符产当作JS的代码执行
eval("alert(111)")
eval('debugger;alert(111)')
Array
制造一个数组 本身是个对象函数
a = new Array
Object
对某个值进行实例化
Object(1111)
// Number {1111} === new Number(1111)
Object("1111")
// String {'1111'}
Object(false)
// Boolean {false}
Date
Date是一个构造函数 也是一个有返回值的函数
Date()
返回的是本地时间
a = new Date()
a.getDate()
// 1 号
a.getDay()
// 3 周三
RegExp
正则 需要new 一个规则
a = new RegExp("n?")
a.exec("asdasdksadnsakldjnsakdj")
indexOf
arry = [
"a",
"b",
"c",
"d",
]
arry.indexOf("a") // 0
arry.indexOf("b") // 1
hasOwnProperty
检测一个属性是否是对象的自有属性
function F(){
this.name = "自有属性"
}
F.prototype.name = "继承属性"
var f = new F()
f
f.hasOwnProperty("name")
decodeURIComponent encodeURI encodeURIComponent
URL编码与解码
encodeURI("干嘛")
'%E5%B9%B2%E5%98%9B'
decodeURI('%E5%B9%B2%E5%98%9B')
'干嘛'
Math .round 、random, parselnt 等强制转换
- Math: 数字函数
- round:Math.rand(0.5) == 1 四舍五入
- random:Math.random() 随机数生成
- parseInt:parseInt(15.55)
shift、pop、push、unshift
shift: 数组移位
pop: 数组删除末尾元素
push: 数组末尾添加
unshift: 数组前部添加
slice、 splice、split、 substring、 substr、 concat
slice : 拆分数组 不基于指针 || 字符串 也可以使用
var array = [1,2,3]
array.slice(0,1)
// [1]
array.slice(0,2)
// (2) [1, 2]
splice:拆分数组 基于指针 影响原数组 || 字符串也可以使用
var array = [1,2,3]
array.splice(0,1)
// [1]
array
// (2) [2, 3]0: 21: 3length: 2[[Prototype]]: Array(0)
split: 把字符串切分成数组
"asdsajhdjsadksaj".split("")
(16) ['a', 's', 'd', 's', 'a', 'j', 'h', 'd', 'j', 's', 'a', 'd', 'k', 's', 'a', 'j']
join:把数组合并成列表
['a', 's', 'd', 's', 'a', 'j', 'h', 'd', 'j', 's', 'a', 'd', 'k', 's', 'a', 'j'].join("")
'asdsajhdjsadksaj'
substring:可以理解为切片
"abcdefg".substring(0,1)
'a'
"abcdefg".substring(0,2)
'ab'
"abcdefg".substring(0,3)
'abc'
"abcdefg".substring(3,0)
'abc'
substr: 但是他不能写反
"abcdefg".substr(0,1)
'a'
"abcdefg".substr(0,2)
'ab'
"abcdefg".substr(0,3)
'abc'
"abcdefg".substr(3,0)
''
concat: 数组合并 两个数组合并
a = new Array(1,2,3)
b = new Array(4,5,6)
a.concat(b)
// (6) [1, 2, 3, 4, 5, 6]
a.concat(a,b)
// (9) [1, 2, 3, 1, 2, 3, 4, 5, 6]
String.fromCharCode、 charCodeAt
String.fromCharCode(): 将 Unicode 编码转为一个字符:
var n = String.fromCharCode(65);
// A
String.fromCharCode():返回在指定的位置的字符的 Unicode 编码。
"A".charCodeAt()
65
[101,118,97,108].map(item=>{
return String.fromCharCode(item)
})
['e', 'v', 'a', 'l']
atob 、btoa、Uint8Array、 ArrayBuffer、 Int32Array、 Int16Array
atob: 把base64解码
btoa: 编码成base64
btoa('123')
'MTIz'
atob('MTIz')
'123'
Uint8Array: 数组类型表示一个 8 位无符号整型数组,创建时内容被初始化为 0
let uint8 = new Uint8Array(2);
uint8[0] = 42;
ArrayBuffer、 Int32Array、 Int16Array都是ES2017的语法 可以自己百度搜
setTimeout 、setlnterval、clearTimeout
setTimeout: 延迟多少秒执行一次
setTimeout(()=>{console.log("你还好吗")}, 3000 )
你还好吗
setlnterval: 每隔多少秒执行一次
a = setInterval(()=>{console.log("你还好吗")},1000)
你还好吗
clearTimeout:清除定时器
clearTimeout(a)