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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。