JavaScript隐藏的坑一,隐式调用toString
最近在重新学习JavaScript,看动态原型对象的时候,打印了两个用同一个构造函数生成的对象,但是打印结果却不一样,请看代码:
var box1=new Box(); console.log(box1) var box2=new Box(); console.log("======"+box2)
打印结果:
自己百思不得其解,后来跑去群里问群友,才知道都是JavaScript字符串操作中的隐式调用toString惹的祸,"======"+box2会默认把box2进行toString操作,真的是太大意了。把加号换成逗号打印的结果就一样了
作者:绿茶叶
出处:http://www.cnblogs.com/greenteaone/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。