object.prototype.tostring.call()
时间: 2023-04-23 08:00:04 浏览: 63
Object.prototype.toString.call() 方法可以用来检测一个对象的类型。它会返回 "[object 类型]" 的字符串,类型是指对象的内置构造函数的名称,例如:"[object Array]"、"[object Object]"、"[object Function]"等。
使用方法如下:
```
Object.prototype.toString.call(someObject);
```
示例:
```
console.log(Object.prototype.toString.call([])); // "[object Array]"
console.log(Object.prototype.toString.call({})); // "[object Object]"
console.log(Object.prototype.toString.call(1)); // "[object Number]"
console.log(Object.prototype.toString.call(null)); // "[object Null]"
console.log(Object.prototype.toString.call(undefined)); // "[object Undefined]"
```
相关问题
object.prototype.tostring.call
Object.prototype.toString.call 是 JavaScript 中用于判断一个对象的类型的方法。它返回一个字符串,表示该对象的类型。例如,如果你调用 Object.prototype.toString.call([]), 它将返回 "[object Array]",表明该对象是一个数组。
object.prototype.tostring.call原理
`Object.prototype.toString.call()`是一种常用的方式来判断一个变量的类型。其原理是:每个对象都有一个`toString()`方法,用于返回一个表示该对象的字符串。当我们使用`Object.prototype.toString()`方法时,它会先找到该对象的`toString()`方法,然后调用该方法并返回结果。但是,如果我们直接调用某个对象的`toString()`方法,可能会得到与预期不符的结果,因为该对象的`toString()`方法可能被重写或者是无法输出有用的信息。
因此,为了解决这个问题,我们使用`Object.prototype.toString.call()`方法来获取一个变量的类型。它的原理是将`Object.prototype.toString()`方法的`this`指向要判断类型的变量,这样就可以返回该变量的类型字符串了。例如:
```javascript
Object.prototype.toString.call('') // "[object String]"
Object.prototype.toString.call(1) // "[object Number]"
Object.prototype.toString.call([]) // "[object Array]"
Object.prototype.toString.call({}) // "[object Object]"
```
这样就可以得到一个变量的准确类型,并且不受该变量的`toString()`方法是否被重写的影响。