首页 > 编程笔记 > JavaScript笔记 > JS面向对象编程
JS toString()方法:返回一个对象的字符串
JavaScript toString() 是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 toString() 方法。
toString() 方法能够返回一个对象的字符串,它返回的字符串比较灵活,可能是一个具体的值,也可能是一个对象的类型标识符。
toString() 的语法格式如下:
Object 还定义了 toLocaleString() 方法,该方法主要作用——留出一个接口,允许不同的对象返回针对本地的字符串表示。在默认情况下,toLocaleString() 方法返回值与 toString() 原型方法返回值完全相同。
目前,主要有 3 个对象自定义了 toLocaleString() 方法。
toString() 方法能够返回一个对象的字符串,它返回的字符串比较灵活,可能是一个具体的值,也可能是一个对象的类型标识符。
toString() 的语法格式如下:
object.toString()
返回值:返回一个表示该对象的字符串。示例1
下面代码显示对象实例与对象类型的 toString() 原型方法返回值是不同的。function F (x, y) { //构造函数 this.x = x; this.y = y; } var f = new F(1, 2); //实例化对象 console.log(F.toString()); //返回函数的源代码 console.log(f.toString()); //返回字符串"[object Object]"toString() 原型方法返回信息简单,为了能够返回更多有用信息,用户可以重写该方法。例如,针对实例对象返回的字符串都是 "[object Object]",可以对其进行扩展,让对象实例能够返回构造函数的源代码。
Object.prototype.toString = function () { return this.constructor.toString(); }调用 f.toString() ,则返回函数的源代码,而不是字符串 "[object Object]"。当然,重写方法不会影响 JavaScript 内置对象的 toString() 返回值,因为它们都是只读的。
console.log(f.toString()); //返回函数的源代码当把数据转换为字符串时,JavaScript 一般都会调用 toString() 原型方法来实现。由于不同类型的对象在调用该方法时,所转换的字符串都不同,而且都有规律,所以开发人员常用它来判断对象的类型,弥补 typeof 运算符和 constructor 属性在检测对象类型的不足。
示例2
当自定义类型时,用户可以重置 toString() 原型方法,自定义对象的数据类型。下面示例为自定义类型 Me 定义一个标识字符串 "[object Me]"。function Me() {} //自定义数据类型 Me.prototype.toString = function () { //自定义Me数据类型的toString()方法 return "[object Me]"; } var me = new Me(); console.log(me.toString()); //返回"[object Me]" console.log(Object.prototype.toString.apply(me)); //默认返回"[object Object]"
Object 还定义了 toLocaleString() 方法,该方法主要作用——留出一个接口,允许不同的对象返回针对本地的字符串表示。在默认情况下,toLocaleString() 方法返回值与 toString() 原型方法返回值完全相同。
目前,主要有 3 个对象自定义了 toLocaleString() 方法。
- Array.prototype.toLocaleString()
- Number.prototype.toLocaleString()
- Date.prototype.toLocaleString()
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算