JS 里的数据类型转换

数据类型的相互转换

1.任意数据类型转字符串
  • 1、String(x)

String(true)//"true"

String(null)//"null"

String(undefined)//"undefined"

String({})//"[Object Object]"

toString()


true.toString() //"true"

null.toString()  //Uncaught TypeError: Cannot read property 'toString' of null
 // at <anonymous>:1:6

undefined.toString()  //Uncaught TypeError: Cannot read property 'toString' of undefined
//at <anonymous>:1:11
{}.toString()   //Uncaught SyntaxError: Unexpected token .

({}).toString()  //"[object Object]"

老司机用法:x+''

true+'' // 'true'
null+'' // 'null'
undefined+'' // 'undefined'
{}+'' // 0
var o = {}
o+ '' //{object Object}
2.任意数据类型转数字

1.Number(x)
2.parselnt(x,10)MDN
3.parseFloat(x)MDN
4.x-0
5.+x

3.任意数据类型转布尔值

1.Boolean(x)
2.!!x(老司机用法)

垃圾回收机制

  • GC 垃圾回收 如果一个对象没有被引用,那么它就是垃圾,将会被回收。
  • 引用包括事件触发引用,如果一个函数被页面上的事件引用了,也不会算作垃圾被回收。
  • 解决办法:将事件赋值null,就表示不再引用。
  • IE6 BUG 无法正常的在页面关闭时,将没有人引用的垃圾正常的清除。设置window.onunload- 事件,将所有的事件都设置为null。
  • 内存泄露:表示该被标记为垃圾的数据没有被标记,内存就会被永久的占用。除非把整个浏览器关闭,否则浏览器就会吃很多的内存,无法再分配新的内存用于存储数据。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容