Javascript中有很多值得学习和记住的小技巧和经典的代码片段,在这里做个小总结。

1. 链式方法

jQuery中 $dom.html().css().addClass() 这类的就叫链式方法,在对象方法中返回对象本身(this)就可以实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function Chain(val){
this.val = val

this.print = function(){
console.log(this.val)
return this
}

this.setVal = function(val){
this.val = val
return this
}
}

let chain = new Chain('foo')
chain.print().setVal('bar').print()
//foo
//bar

2. 注意字符串连接

Javascript中经常会有一些意想不到的类型转换,’+’是其中最常见的一种运算,它既可以做数字的加法,也可以做字符串连接,不注意使用可能会出现不想看到的结果。看下面的例子

1
2
3
4
5
6
let c1 = 12
let c2 = 34
let c3 = '56'

let result1 = c1 + c2 + c3 //4656
let result2 = ''.concat(c1, c2, c3) //123456

结果1中先做了加法,而非我们期望的字符串连接,使用第二种方法更安全一些。

3. 使用双波浪运算(~~)

‘~~’表示执行两次’~’运算,对于正数,它相当于Math.floor(),对于负数则相当于Math.ceil(),只是性能更高,写起来也更快,不过要注意它只能用于32位及以内的数值。

1
2
3
4
~12 		//-13
~~12.34 //12
~~12.89 //12
~~-12.88 //-13