1.js计时器 console.time(name)和console.timeEnd("同一name")
console.time('计时');
for(var i=0; i<100000; i++){
}
console.timeEnd('计时');
可以用来统计一段代码运行时间。
2.Object.keys()方法 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,常用来遍历对象的属性或者判断一个map是否有值。
Object.keys(def["oneofs"]).forEach(function(name) {
obj.addChild(oneofs[name] = new Reflect.Message.OneOf(this, obj, name));
}, this);
let v2n: { [key: string]: number } = multV2n[0]
if (!v2n || Object.keys(v2n).length == 0) {
return null
}
3.array.map() 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
let r = res.map(item => {
return {
title: item.name,
sex: item.sex === 1? '男':item.sex === 0?'女':'保密',
age: item.age,
avatar: item.img
}
})
4.typeof 和instanceof 区别
4.1 typeof返回结果是该类型的字符串形式表示(number、string、undefined、boolean、function、object)
4.2 instanceof是用来判断 A 是否为 B 的实例
5.将数组清空的另外一种方法Array.length = 0
6.call()方法和apply() 每个函数都包含两个非继承来的方法:call方法和apply方法,这两个方法的作用是一样的,都是在特定的作用域中调用函数。
6.1 区别 接收参数的方式的不同。call可以传多个参数,apply的第二个参数是一个数组。
function add(c,d) {
return this.a+this.b+c+d
}
var s={a:1,b:2}
console.log(add.call(s,3,4)) //1+2+3+4 = 10
console.log(add.apply(s,[5,6])) //1+2+5+6 = 14
7.function属性prototype的作用 function.prototype返回funciton原型,可以用来方便扩展function对象
//定义一个函数
function say(){
}
//给函数的属性prototype赋予一个方法get
say.prototype.get=function(value){
return value;
}
8.判断某个对象是否为空
if(a){
//do something
}
注意:当a为整数时且a为0时,if(a) ==false,要注意这个雷区
9.splice() 这个方法不仅可以删除元素、数组也可以向数组插入元素和数组
for (let index = 0; index < this.clubRoomInfoArr.length; index++) {
const element = this.clubRoomInfoArr[index];
if (element.roominfo.roomKey == roomid) {
for (let j = 0; j < element.userArr.length; j++) {
const usrinfo = element.userArr[j];
if (usrinfo.id == playerId) {
element.userArr.splice(j, 1) //删除一个元素
break;
}
}
break;
}
}
splice(start: number, deleteCount: number, ...items: T[]): T[];
//deleteCount传入0时就会添加元素
if (cardType == CardType.zhadan) {
replaceCardIdArr.splice(0, 0, replaceCards) //插入牌
} else {
replaceCardIdArr.push(replaceCards)
}
10.slice() 和contact()
10.1 slice()的作用是提取数组一部分组成一个新的数组或截取一部分字符串 注意返回的是新数组或新字符串
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr)
console.log(arr.slice(1))
console.log(arr)
输出:
George,John,Thomas
John,Thomas
George,John,Thomas
10.2contact()连接数组或字符串
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
温故而知新!
好了,今天就分享这么多,喜欢我的朋友请关注公众号!