Pol*_*ant 6 javascript typeof this
我有一个数组迭代器函数:
function applyCall(arr, fn) {
fn.call(arr[0], 0, arr[0]);
}
Run Code Online (Sandbox Code Playgroud)
和一些代码
var arr1 = ['blah'];
applyCall(arr1, function (i, val) {
alert(typeof this); // object WHY??
alert(typeof val); // string
alert(typeof(this === val)) // alerts false, expecting true
});
Run Code Online (Sandbox Code Playgroud)
为什么typeof this在内联函数中object而不是string?
jsfiddle 在这里
在JavaScript中调用方法时,它在内部设置this为调用对象:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/apply
...和原始值将被装箱.
通过"盒装",它们意味着基元包裹在对象中.请注意,这仅适用于apply/ 的第一个参数call.其他参数变为不是"盒装"的函数参数.
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |