1. 转为String (toString) ---S大写(三种方法转换)
- number 、boolean、Object(不报错,转换的不是我们需要的)
//conlose.log(1) === conlose.log((1).tostring())
var a = 1
a.toString()
// '1'
var obj = { }
obj.toString()
// "[object Object]"
老司机用法(各类型转换字符串) 加引号(此处引号是空字符串不是空格字符串) 引号+需要转换的对象也可以
- null用tostring转换不行,用加引号的方法可以
- undefined用此方法也可以
- 1+'1'理论上是行不通的,用+号时,会尝试转变他的类型,所以相当于(1).toString() + 1 === "11"
var a = 1
1 + ' '
// '1'
var a = true
true + ' '
// 'true'
var a = null
true + ' '
// 'null'
var obj = { }
obj + ' '
// "[object Object]"
图示
image.png
另一种方法(全局函数)
image.png
2. 转为Boolean
number:只有0和NaN为false,其他都为true
false是指在Boolean中认定可转换为false的值
String只有空字符串为false,其他都为true
null和undefined都是只有一个值为false
Object全部为true
image.png
- 0为
flase
,1为true
,空字符串为false
,空格字符串为true
,·null·为false
,object
对象为true
(空对象或不空对象都为true)
老司机用法 !!!!!!!!!!!
3. 转为Number
字符串转为Number
* Number('1') === 1
* parseInt('1', 10) === 1 ---10 必须要写 (考点)
* parseFloat('1.23') === 1.23 ---浮点数
* '1' - 0 === 1 ---减0法 (骚方法) 推荐
* + '1' === 1 ---加号方法(骚方法)
* - '1' === 1 ----加号方法(骚方法)
* 如果是负数 -(- '-1') === 1
牢记
image.png
内存图
image.pngimage.png
image.png
image.png
image.png
image.png
image.png
垃圾回收
-
如果一个对象没有被引用就是所谓垃圾,将被回收。
image.png
var fn = function(){}
document.body.onclick = fn
fn = null
//function不是垃圾
image.png
深\浅拷贝
深拷贝
浅拷贝
网友评论