补充:
NaN
表示 not a number;function
本质为 object, 但由于其特殊的地位, typeof会检测为 function;symbol
为ECMAScript6 新定义的数据类型, 符号类型是唯一的并且是不可修改的, 并且也可以用来作为Object的key的值.toString()
无法将null, undefine转为字符串String()
可以将null, undefine转为字符串// 变量已经被赋值
console.log("变量已经被赋值的情况:");
(function test01(){
var name = "zhaozhao";
console.log(String(name))
console.log(name.toString())
})();
// 变量没有被赋值
console.log("变量没有被赋值的情况:");
(function test02(){
var name;
console.log(String(name))
console.log(name.toString())
})();
运行结果
parseInt()
强转为整数// 强转为整数
console.log("====")
console.log(parseInt("100")); // 100
console.log(parseInt("100zhaozhao")); // 100
console.log(parseInt("zhaozhao100")); // NaN
console.log(parseInt("100zhaozhao100")); // 100
console.log(parseInt("100.18zhaozhao")); // 100
parseFloat()
转为浮点数(不会把整数转换为浮点数)// 转为浮点数(不会把整数转换为浮点数)
console.log("====")
console.log(parseFloat("100")); // 100
console.log(parseFloat("100zhaozhao")); // 100
console.log(parseFloat("zhaozhao100")); // NaN
console.log(parseFloat("100zhaozhao100")); // 100
console.log(parseFloat("100.18")); // 100.18
console.log(parseFloat("100.18zhaozhao")); // 100.18
Number()
转换为数值, 较严格// 转换为数值
console.log("====")
console.log(Number("100")); // 100
console.log(Number("100zhaozhao")); // NaN
console.log(Number("zhaozhao100")); // NaN
console.log(Number("100zhaozhao100")); // NaN
console.log(Number("100.18")); // 100.18
console.log(Number("100.18zhaozhao")); // NaN
// 布尔类型的转换
// 除零以外的数字, 非空字符串 都为 true
console.log(Boolean(1))
console.log(Boolean(-1))
console.log(Boolean("哈哈"))
// 0 ,空字符串, null, undefined都为false
console.log("====")
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))
console.log(Boolean(undefined))
快速获取boolean值的小技巧: 在变量前添加
2个!
,示例!!("zhaozhao") === true;
和!!("") === false
- 字体变大:
command
++
- 字体变小:command
+-
(windows把command
转为ctrl
即可)