JS中一定要了解的数据类型和数据转换

一、数据类型

前言

Js中的类型只有6种,其中基本数据类型有5种分别为string,number,boolen,null,undefined,引用类型有一种,就是object,object是一个大的综合体,在JS中除了那5个基本数据类型以外,其他的一切皆对象。以下是最近自学js整理的一些笔记,希望能让更多初学者了解到数据类型的基本概念。

正文

1.获取变量类型

typeof

var age = 18;
console.log(typeof age);  // 'number'

2.基本数据类型

字符串(String),数值型(number),布尔型(boolean)


  • Boolean字面量: true和false,区分大小写
  • 计算机内部存储:true为1,false为0

3.复合数据类型

对象(object),数组(array object)


4.其他数据类型

函数,null,undefined


二、数据类的转换

2.1 隐式转换

隐式转换常用于if判断等需要直接结果的地方.


  1. undefined与null相等,但不恒等(===)

  2. 一个是number一个是string时,会尝试将string转换为number

  3. 隐式转换将boolean转换为number,0或1

  4. 隐式转换将Object转换成number或string,取决于另外一个对比量的类型

  5. 对于0、空字符串的判断,建议使用 “===”

  6. “==”会对不同类型值进行类型转换再判断,“===”则不会.它会先判断两边的值类型,类型不匹配时直接为false

2.2显示转换

Number:


var a = Number('1');
var b = Number(1);
var c = Number('c');
var d = Number(null);
var e = Number(undefined);

console.log(a,b,c,d,e); // 1 1 NaN 0 NaN

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

String:


String(1234);  // "1234"
String('abcd');  // "abcd"
String(true);  // "true"
String(undefined); // "undefined"
String(null);  // "null"

Boolean:


var a = Boolean('0');
var b = Boolean(0);
var c = Boolean('1');
var d = Boolean(null);
var e = Boolean(undefined);
var f = Boolean(NaN);

console.log(a,b,c,d,e,f); //true false true false false false

// 0、''(空字符串) 、null、 undefined 、NaN 会转换成false  其它都会转换成true

parseFloat:

var a = parseFloat('1.2df'); //1.2
var b = parseFloat('1.3.4'); //1.3
var c = parseFloat('c12'); //NaN
var d = parseFloat(null); //NaN
var e = parseFloat(undefined); //NaN

console.log(a,b,c,d,e); 

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

parseInt()

var a = parseInt('1.2df'); //
var b = parseInt(1);
var c = parseInt('c12');
var d = parseInt(null);
var e = parseInt(undefined);

console.log(a,b,c,d,e); //1 1 NaN NaN NaN

// 如果第一个字符是数字会解析,直到遇到非数字结束
// 如果第一个字符不是数字或者符号就返回NaN

2.3 字符串特别说明

1. 单引号和双引号均可解析转义字符

2. 单引号和双引号均不能解析变量

3. 变量与字符串,变量与变量要使用+来拼接,区分开PHP

4. 单引号和双引号可以互相嵌套,如果单引号中药嵌套单引号,需要将单引号转义,同理,双引号相同


如何打印一下字符串:

var s = '我很喜欢   \"雷锋  \'的精神\'  \"';
console.log(s);
  • 字符串长度

length属性用来获取字符串的长度

var str = 'Hello World';
console.log(str.length);

你可能感兴趣的:(JS中一定要了解的数据类型和数据转换)