这2个东西用起来不是很熟练,有没有什么好方法。我知道这是改变context的函数,但是用起来总是很不灵活。
其实我心中还是有概念的,不就是改变执行环境的this....
其实我心中还是有概念的,不就是改变执行环境的this....
|
wenchengJul 5, 2013
1
这个没什么不方便吧,觉得你可能对context的理解不够深吧,慢慢来不用一下要把call和apply用的那么精。
|
|
qiqiboyJul 5, 2013
2
现在不理解就避免使用丫,看的代码多了总有一天会顿悟的
|
|
kfllJul 5, 2013
3
if (condition)
nodeExample.removeClass('eg') else nodeExample.addClass('eg') ==> [Node.addClass, Node.removeClass][!!condition * 1].call(nodeExample, 'eg') ---------------- 当然,第一种要容易明白的多... ---------------- Object.prototype.toString.call(arrExample) Array.prototype.forEach.call('hello', function(char, i) { console.log(char + '_') }) ---------------- |
|
tulike1Jul 5, 2013
4
经典用法,可以帮助理解
1、求数组的最大值 Math.max.apply(Math, [1, 2, 3, 4, 5]) //=> 5 2、判断数据类型 {}.toString.call([1, 2, 3]) //=> [object Array] |