作为前端人员,我们平时肯定是离不开javascript的,但是,你真的熟悉javascript?
一:定时器
首当其冲就是定时器了,你可能说定时器我经常用啊,没有我不会的。甚至有熟手看到标题就想到,我知道了,你肯定要说定时器使用之前先要清除定时器再执行新的定时器。NO、NO、NO,下面一段代码告诉你,你不知道的定时器。大家用过定时器的应该都知道,平时我们使用定时器只传进去两个参数,一个是function,一个是触发的时间,那么你可曾想过第三个第N个参数又是怎么耍?
setInterval(function(a){
console.log(a)
},500,100)
//结果控制台打印出来是100
二:字符串拼接
document.body.innerHTML = '<div>div<div><span>span</span>';
这样好像也没什么问题,如果内容比较多呢?想折行显示怎么办?大家通常是不是用+号进行拼接,那么现在介绍告诉你个小技巧,你可能又说我知道,ES6最新出来的字符串模板拼接``,傻X,就你知道我不知道啊,咱们来点我知道你未必知道的OK?
document.body.innerHTML =
'<div>div<div>\
<em>em<em>\
<span>span</span>';
三:console.log
console.log( "
\n %c 深正互联 %c https://www.szhulian.com \n\n",
"color:#FFFFFB;background:#1abc9c;padding:5px 0;border-radius:.5rem 0 0 .5rem;",
"color:#FFFFFB;background:#080808;padding:5px 0;border-radius:0 .5rem .5rem 0;"
);
四:for循环
for(var i = 0;i<5;i++){
for(var j = 0; j<1; j++){
if(i==3){
break
}
}
}
//结果:0,1,2,4,3确实没跳出来,但是4跳出来了,这说明break只会阻断当前循环,并不会阻断整个嵌套循环
a : for(var i = 0;i<5;i++){
for(var j = 0; j<1; j++){
if(i==3){
break a
}
}
}
//结果:0,1,2
五:匿名函数自执行
(function(){
alert(1)
})()
这段代码应该不陌生,在很多插件源码都喜欢这么玩,但是你知道吗,类似这种写法还有很多
!function(){ //通过位运算符~、!、+等等都可以
alert(1)
}()
深圳 · 龙岗 · 大运软件小镇22栋201
电话:400 182 8580
邮箱:szhulian@qq.com