你不知道的js小技巧

一些常用的JS小技巧或者说一些常用功能的非常用写法 总结如下:

1.定时器 如setTimeout() 第三个参数开始 都是回调函数的参数

setTimeout(function(num){
    alert(num)
},1000,123)	//123

2.js中为了让代码易读  多个字符串拼接换行 用'\' 即可

document.body.innerHTML = '<div>dddddd</div>\
                        <span>sssssssss</span>\
                        <p>pppppp</p>\
                        555555';

3.console.log控制台输出 可以添加样式和图片 如:

var a = 'hello';
console.log('%c'+a, 'font-size:400%;color:#f00;background:#ccc');

控制台查看输出的'hello'是带有样式的,是不是很有意思呢?接着往下看。

4.for循环嵌套 在里面的for循环中加判断跳出最外层循环 可以给外层循环赋值 并break指定的值即可

for (var i = 0; i < 5; i++) {
    for(var j = 0; j < 1; j++ ) {
        if ( i == 3 ) {
            break;
        }
        alert(i)    //0 1 2 4
    }
};
a : for (var i = 0; i < 5; i++) {
    for(var j = 0; j < 1; j++ ) {
        if ( i == 3 ) {
            break a;
        }
        alert(i)    //0 1 2
    }
};

5.call() 改变函数执行的this指向 如果不添加参数 默认指向window

var obj = {
    aaa : function() {
        alert(this)
    }
}
var arr = [1,2,3];
obj.aaa.call(arr);    //1,2,3
obj.aaa.call();    //window

6.insertBefore在某节点之前插入节点 当某节点为空时相当于 appendChild

var oBtn = document.getElementById('btn'),
      oUl = document.getElementById('ul1'),
    lis = oUl.getElementsByTagName('li'),
    oNow = 0;
            
oBtn.onclick = function() {
    var li = document.createElement('li');
    li.innerHTML = oNow++;

        oUl.insertBefore(li, lis[0]);    //当lis[0]为空时 insertBefore = appendChild
    }            
<input type="button" value="添加" id="btn" />
<ul id="ul1"></ul>

7.匿名函数自执行 不用() 用位运算符也可以 如+~!等等 都可以替代()

(function() {
    alert(123);  //123
})()
~function(){
    alert(333)    //333
}()    

JS神奇的地方还有很多,学习JS要有不断探索的精神。不断学习,不断总结。

 

posted @ 2015-04-29 23:34  认真de风  阅读(204)  评论(0编辑  收藏  举报