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);

好了,今天就分享这么多,喜欢我的朋友请关注公众号!

    

 

 

posted on 2020-05-30 10:53  随心所意  阅读(82)  评论(0)    收藏  举报