Reflect.apply()方法是JavaScript中的標準build-in對象,該對象用於使用指定的參數調用函數。它的函數類似於調用函數的Function.prototype.apply()方法,但以一種有效的方式且易於理解。
用法:
Reflect.apply(target, thisArgument, argumentsList)
參數:此方法接受上述和以下所述的三個參數:
- target:此參數是將要調用的目標函數。
- thisArgument:此參數具有
this
調用目標函數所需的值。 - ArgumentsList:此參數是一個array-like對象,用於指定應調用目標的參數。
返回值:調用給定的Target函數導致指定的this
值和參數。
異常: A TypeError
是當目標不可調用時給出的異常結果。
以下示例說明了JavaScript中的Reflect.apply()方法:
範例1:傳遞列表參數,並創建字典-對象。
function geeks1 (a, b, c) {
this.x = a;
this.y = b;
this.z = c;
}const obj = {};
Reflect.apply ( geeks1 , obj, [12,42,32] );
console.log( obj );
輸出:
{ x:12, y:42, z:32 }
範例2:在此示例中,傳遞了空列表參數並調用了函數。第二部分包含數學計算,從列表中查找最小元素。
var geeks2 = function() { console.log(this); }
Reflect.apply(geeks2, 'GeeksforGeeks', []);
var list= [31, 45, 143, 5];
console.log(Reflect.apply(Math.min, undefined, list));
輸出:
String { "GeeksforGeeks" } 5
範例3:
// Converting the list of integer into char string
console.log(Reflect.apply(String.fromCharCode,
undefined, [103, 101, 101, 107, 115, 102,
111, 114, 103, 101, 101, 107, 115]))
// Extract the indexed value of string(character)
console.log(Reflect.apply(''.charAt, 'shubham', [3]))
輸出:
geeksforgeeks b
支持的瀏覽器:下麵列出了JavaScript Reflect.apply()方法支持的瀏覽器:
- 穀歌瀏覽器
- IE瀏覽器
- Firefox
- Opera
- Safari
- Edge
相關用法
- Javascript Sort()用法及代碼示例
- Javascript Uint8ClampedArray.from()用法及代碼示例
- Javascript exec()用法及代碼示例
- Javascript Promise.all()用法及代碼示例
- Javascript Float32Array.from()用法及代碼示例
- Javascript padStart()用法及代碼示例
- Javascript hasOwnProperty()用法及代碼示例
- Javascript Int8Array from()用法及代碼示例
- Javascript Replace()用法及代碼示例
- Javascript padEnd()用法及代碼示例
- Javascript Array.from()用法及代碼示例
- Javascript Int32Array.from()用法及代碼示例
- Javascript Int16Array from()用法及代碼示例
- Javascript Uint32Array from()用法及代碼示例
- Javascript Unit16Array.from()用法及代碼示例
注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript | Reflect.apply() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。