js中的装饰器。拦截器。细细品味 bind apply call
2017-03-13 17:40
246 查看
var zlw = {
name: "zlw",
sayHello: function (age) {
console.log("hello, i am ", this.name + " " + age +" years old");
}
};
var xlj = {
name: "xlj",
};
zlw.sayHello(24);
VM273:4 hello, i am zlw 24 years old
undefined
zlw.sayHello.bind(xlj, 24)()
VM273:4 hello, i am xlj 24 years old
name: "zlw",
sayHello: function (age) {
console.log("hello, i am ", this.name + " " + age +" years old");
}
};
var xlj = {
name: "xlj",
};
zlw.sayHello(24);
VM273:4 hello, i am zlw 24 years old
undefined
zlw.sayHello.bind(xlj, 24)()
VM273:4 hello, i am xlj 24 years old
zlw.sayHello.call(xlj, 24);// hello, i am xlj 24 years old zlw.sayHello.apply(xlj, [24])
function debounce(fn, delay) { // 维护一个 timer let timer = null; // 能访问 timer 的闭包 return function() { // 通过 ‘this’ 和 ‘arguments’ 获取函数的作用域和变量 let context = this; let args = arguments; // 如果事件被调用,清除 timer 然后重新设置 timer clearTimeout(timer); timer = setTimeout(function() { fn.apply(context, args); }, delay); } }
相关文章推荐
- JS里面的call, apply以及bind
- js中apply、call和bind的区别
- js中bind、call、apply区别和简单应用
- js笔记——call,apply,bind使用笔记
- js中call,apply,bind那些事
- js function call,apply,bind方法
- js中改变this指向的三个常用方法bind,call和apply
- 前端JS面试题汇总 Part 3 (宿主对象与原生对象/函数调用方式/call与apply/bind/document.write)
- JS中的call、apply、bind方法详解
- js中call、apply、bind区别以及个别用例
- js中的call apply bind
- js apply/call/caller/callee/bind使用方法与区别分析
- js函数的间接调用call()、apply()和bind()
- JS中的this指向问题以及apply、call、bind的使用
- 【js基础】javascript中的apply() call() bind() 方法是javascript专业人员的基础[译]
- js中的apply/call/caller/callee/bind
- JS中改变this指向的方法(call和apply、bind)
- 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数
- 关于JS中的apply,call,bind的深入解析
- JS 中 call、apply、bind 那些事