天天看点

JavaScript 原始数据类型转换

Js基础数据类型有7种:

  • 原始数据类型(6种)
    • number (数值)
    • string (字符串)
    • boolean (布尔)
    • null (空对象, typeof 检测为object)
    • undefine(未定义)
    • symbol (符号类型)
  • 对象数据类型(1种)
    • object(对象类型)
补充:
  • 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

快速获取boolean

Chrome控制台字体大小控制:

- 字体变大:

command

+

+

- 字体变小:

command

-

(windows把

command

转为

ctrl

即可)

继续阅读