當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript handler.apply()用法及代碼示例


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