JavaScript Object toString 初始
简单聊聊JavaScript中的Object的toString方法:
1.toString(返回一个代表具体对象的字符串),可以返回返回任何任何值,但一般要携带对象的属性信息
?? 看下面一个例子:
?? function Person(name,age,sex,address){
???????? this.name=name;
???????? this.age=age;
???????? this.sex=sex;
??????? this.address=address;
?? }
?? 以上是我声明的一个Person的对象类型。
?? 下面创建一个JS对象:var peter=new Person('peter','23','Male','北京市海淀区');
?? 下面给Person的toString方法指定一个具体的方法:
?? function personToString(){
??????? var ret="{"
??????? for(var prop in this){
???????????? ret+="("+prop+":"+this[prop]+")";
?????? }
??????ret+="}";
? }
? Person.prototype.toString=personToString;
? 测试数据:
? alert(peter.toString);
? 打印的具体值如下:
?
?从以上结过可以看出不是我想要得到的字符串,要把toString:的那一段去掉,怎么办,那就修改一下personToString函数。
????? function personToString(){
??????? var ret="{"
??????? for(var prop in this){
???????????? if(prop=="toString"){
????????????????? continue;
???????????? }
???????????? ret+="("+prop+":"+this[prop]+")";
?????? }
??????ret+="}";
? }
? 再测试一下,结果如下:
? ? 可以遍历所有属于Peron的属性和方法(包括toString),要想达到专门的字符串,需要跳过一些方法。