Object.toString().call()
时间: 2024-10-09 19:13:09 浏览: 25
JavaScript中Object.prototype.toString方法的原理
`Object.prototype.toString.call()` 是一个用于获取JavaScript中任意对象类型的方法。它的工作原理是通过 `call()` 函数将 `toString()` 方法应用于给定的对象(作为第一个参数),使其能够在正确的上下文中运行,即使这个对象的原型链上的 `toString()` 已经被重写了。
**示例**:
```javascript
// 使用默认的toString方法,返回的是 "[object Type]"
let obj = {};
console.log(Object.prototype.toString.call(obj)); // 输出: "[object Object]"
// 如果对象是数组,toString被重写,我们使用call来获取原始类型信息
let arr = [];
console.log(Object.prototype.toString.call(arr)); // 输出: "[object Array]"
// 同理,对于其他内置对象如Boolean和Number
let bool = true;
let num = 123;
console.log(Object.prototype.toString.call(bool)); // 输出: "[object Boolean]"
console.log(Object.prototype.toString.call(num)); // 输出: "[object Number]"
```
阅读全文