handler.apply() 方法用于捕获函数调用。 apply 陷阱返回的值也将用作通过代理进行函数调用的结果。
用法
apply:function(target, thisArg, argumentsList)
参数
target:目标对象。
thisArg:thisArg 用于调用。
argumentsList:用于调用的参数列表。
返回值
此方法可以返回任何值。
浏览器支持
Chrome | 49 |
Edge | 12 |
Firefox | 18 |
Opera | 36 |
例子1
var o = function(arg1, arg2) {
document.writeln('proxy value(' + arg1 + ', ' + arg2 + ')');
};
var proxy = new Proxy(o, {
apply:function(target, thisArg, parameters) {
document.writeln('First exam..');
document.writeln("</br>");
return target.apply(thisArg, parameters);
}
});
proxy('23', '54');
输出:
First exam.. proxy value(23, 54)
例子2
var str = function(arg1, arg2) {
document.writeln('in x(' + arg1 + ', ' + arg2 + ')');
};
var proxy = new Proxy(str, {
apply:function(target, thisArg, parameters) {
document.writeln('in apply');
document.writeln("<br/>");
return target.apply(thisArg, parameters);
}
});
proxy('direct1', 'direct2');
proxy.apply(null, ['add', 'add']);
proxy.call(null, 'string', 'string');
输出:
in apply in x(direct1, direct2) in apply in x(add, add) in apply in x(string, string)
例子3
function p (a)
{
return a ;
}
var q = {
apply:function(target, thisArg, argumentsList) {
return target(argumentsList[0], argumentsList[1])*2;
}};
var pro = new Proxy(p, q);
document.writeln(p(56));
document.writeln("<br/>");
document.writeln(pro(34));
输出:
56 68
相关用法
- JavaScript handler.has()用法及代码示例
- JavaScript handler.get()用法及代码示例
- JavaScript handler.isExtensible()用法及代码示例
- JavaScript handler.deleteProperty()用法及代码示例
- JavaScript handler.construct()用法及代码示例
- JavaScript handler.getPrototypeOf()用法及代码示例
- JavaScript handler.getOwnPropertyDescriptor()用法及代码示例
- JavaScript handler.setPrototypeOf()用法及代码示例
- JavaScript handler.ownKeys()用法及代码示例
- JavaScript handler.defineProperty()用法及代码示例
- JavaScript handler.preventExtensions()用法及代码示例
- JavaScript Uint8Array.of()用法及代码示例
- JavaScript BigInt.prototype.toString()用法及代码示例
- JavaScript DataView.getInt16()用法及代码示例
- JavaScript Symbol.keyFor()用法及代码示例
- JavaScript JSON.stringify()用法及代码示例
- JavaScript Symbol.split属性用法及代码示例
- JavaScript Function.displayName属性用法及代码示例
- JavaScript TypedArray reverse()用法及代码示例
- JavaScript String slice()用法及代码示例
注:本文由纯净天空筛选整理自 JavaScript handler.apply() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。