js数据类型

231 阅读2分钟
一、js数据类型分类以及判断方法:

js有6种数据类型:

  1. number
  2. string
  3. boolean
  4. function
  5. object 
  6. undefined

数据类型判断:

  1. typeof 操作符

  使用 typeof 操作符来查看 JavaScript 变量的数据类型。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."

  请注意:

  • NaN 的数据类型是 number
  • 日期对象Date()、数组对象Array()和null 使用typeof输出后均为object,因此就无法通过 typeof 来判断他们的类型
  • 未定义变量的数据类型为 undefined

实例:

  typeof "John" // 返回 string 


  typeof 3.14 // 返回 number


  typeof NaN // 返回 number


  typeof false // 返回 boolean


  typeof [1,2,3,4] // 返回 object


  typeof {name:'John', age:34} // 返回 object


  typeof new Date() // 返回 object


  typeof function () {} // 返回 function


  typeof myCar // 返回 undefined (如果 myCar 没有声明)


  typeof null 

2、constructor属性

  constructor 属性返回所有 JavaScript 变量的构造函数。可以用它来弥补typeof不能区分Array和Data类型的缺陷

  用 constructor 属性来查看对象是否为数组 (包含字符串 "Array"):

  function isArray(myArray) {
   return myArray.constructor.toString().indexOf("Array") > -1;
  }

  用 constructor 属性来查看对象是否为日期 (包含字符串 "Date"):


  function isDate(myDate) {
   return myDate.constructor.toString().indexOf("Date") > -1;
  }

二.数据类型的转换

1.转为字符串:使用 .toString或者String。

(1) .toString()方法:注意,不可以转null和underfined


1.var bool=true;
2.console.log(bool.toString());

(2)String()方法:都能转


console.log(String(null));

(3)隐式转换:num + "",当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串


var a=true;var str= a+"";
console.log('str');


2.转为数值类型

(1)Number():Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN


console.log(Number(true));

(2)parseInt():


var a="12.3px";

console.log(parseInt(a);

//结果:12.3.  如果第一个字符是数字会解析知道遇到非数字结束.

.var a="abc2.3";

4.console.log(parseInt(a);

////结果:返回NaN,如果第一个字符不是数字或者符号就返回NaN.

(3)parseFloat(): parseFloat()把字符串转换成浮点数,parseFloat()和parseInt非常相似,不同之处在与parseFloat会解析第一个. 遇到第二个.或者非数字结束如果解析的内容里只有整数,解析成整数。

(4)隐式转换


var str="123";

var num=str-0;

console.log(num);

//结果为数值型;

3.转换为Boolean():0 ''(空字符串) null undefined NaN 会转换成false 其它都会转换成true

(1)Boolean():


console.log(Boolean(2));