js中toString 和 object.toString区别解释
来源:互联网 发布:centos添加ip黑名单 编辑:程序博客网 时间:2024/06/03 10:40
1.toString 和 object.toString运行结果演示
运行结果:
所以从上述运行结果得知object.toString()只是输出该对象的信息,并以字符表示,和许多其他的语言诸如Java的object.toString()一样,但是js提供的内置函数toString()输出的结果为"[object Window]",这和str对象没人任何联系,接下来我只对toString()方法详解。
2.toString()详解
ECMA 5.1 中关于该方法的描述是这样的:
当调用toString方法时,下列步骤会被执行:
如果this未定义时,返回“[object Undefined]”
如果this为null时,返回“[object Null]”
定义O,并且让O=ToObject(this)
定义class,并且使class为O内置属性[[class]]的值
返回三个字符串的拼接字符:"[object",class,"]"
通过官方解释,可以清晰的得出toString()是在以特殊的字符串形式输出this的类型,不管你传入什么参数,该方法都是执行了window.toString()方法,this一直指向了window对象,所以输出了上述结果。
3.怎么使用toString()方法判断任意类型
通过上面对toString的讲解可知,toString()始终判断的是this的类型,那么只要将this指向其他对象,就能判断该对象的类型。
到了这步就比较清楚了,js中改变this有那种方式,一种是call方法,另一种是apply方法,我们可以通过实验看看有没有达到我们想要的结果。
运行结果这的确是我们想要的结果,大家可以试试其他的类型
4.注意的地方
在IE中使用toString.call()方法时会报错,建议使用Object.prototype.toString.call()(所有浏览器都支持),这是js为原始对象原型提供的toString方法,用法和toString方法一样。
- js中toString 和 object.toString区别解释
- js中toString 和 object.toString区别解释
- JS 中toString()和valueOf()的区别
- js中精确判断对象类型--关于typeof 和Object.prototype.toString方法的区别
- Object 类中 equals和toString() 方法
- Object 类中 equals和toString() 方法
- 学习C#中toString()和Convert.toString()的用法区别
- JS中String()与 .toString()的区别
- js中toString、toLocaleString、valueOf函数区别
- JS中String()与 .toString()的区别
- JS的tostring()和toLocaleString()的区别
- JS中 toString() & valueOf()
- Javascript中valueOf()和toString()的区别
- scala中 toString和apply的区别
- JavaScript中.toString()和String()的区别
- ToString()和Convert.ToString()的用法区别
- ToString()和Convert.ToString()的用法区别
- ToString()和Convert.ToString()的用法区别
- Android wifi的WifiInfo对象详解
- python基础学习之函数(2)-内嵌函数和闭包
- Python学习笔记 --- with as 使用方法
- 浅谈httpClient使用总结
- 网络基础总结
- js中toString 和 object.toString区别解释
- phpcm修改数据库配制文件
- iOS 系统架构及常用框架
- ElasticSearch学习资料
- Openjudge 8469:特殊密码锁 暴力搜索
- Unity游戏开发之绘制准心
- Linux上Apache的基础配置
- python基础学习之函数(3)-λ表达式,过滤器,map函数
- 如何优雅的关闭一个线程