最近一直在看关于apply的使用详解。
能劫持另外一个对象的方法,继承另外一个对象的属性.
但是总不会拓展到项目中进行使用。觉得对象这方面很模糊~
有大神可以详解下吗~
最近一直在看关于apply的使用详解。
能劫持另外一个对象的方法,继承另外一个对象的属性.
但是总不会拓展到项目中进行使用。觉得对象这方面很模糊~
有大神可以详解下吗~
比如所有p标签内容红色(只是举例)
//先前试着不用jQuery写页面:
var p=document.querySelectorAll('p')
//直接p.forEach() 不兼容UC
//Array.prototype.forEach.apply(p,[function(e){}]) 显然call简洁点
Array.prototype.forEach.call(p,function(e){e.style.color='red'})
//使用jQuery:
$('p').css('color','red')
感觉有的舍近求远?
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
一般造轮子的时候才会用到这些。
举个现实中的例子,我写了一个mvvm库,里面要实现一个view-viewModel绑定功能
我需要给input个控件的value赋值,这个值的返回结果是vm.getMessage(),而我从DOM tree上只能获得"vm.getMessage()"这个字符串,我通过解析,拿到2部分,"vm"和"getMessage",我可以从之前维护的一个map里找到与"vm"这个字符串对应的viewModel实例,"getMessage"我能知道是个方法名,于是我就是调用apply来完成一些事情