静态
Reflect
.apply()
method calls a target function with arguments as specified.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Reflect.apply(target, thisArgument, argumentsList)
target
The target function to call.
thisArgument
this
provided for the call to
target
.
argumentsList
target
should be called.
The result of calling the given
target
function with the specified
this
value and arguments.
A
TypeError
, if the
target
is not callable.
In ES5, you typically use the
Function.prototype.apply()
method to call a function with a given
this
value and
arguments
provided as an array (or an
array-like object
).
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
With
Reflect.apply()
this becomes less verbose and easier to understand.
Reflect.apply()
Reflect.apply(Math.floor, undefined, [1.75]);
// 1;
Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111])
// "hello"
Reflect.apply(RegExp.prototype.exec, /ab/, ['confabulation']).index
// 4
Reflect.apply(''.charAt, 'ponies', [3])
// "i"
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'Reflect.apply' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apply
|
Chrome 49 | Edge 12 | Firefox 42 | IE No | Opera 36 | Safari 10 | WebView Android 49 | Chrome Android 49 | Firefox Android 42 | Opera Android 36 | Safari iOS 10 | Samsung Internet Android 5.0 | nodejs 6.0.0 |
完整支持
不支持
Reflect
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()