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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。