JavaScript快速入门之数据类型

JavaScript数据类型


字面量是一个恒定的值 (变量是一个名称,字面量是一个值,都是可以直接使用)

  • 字符串字面量
  • 数组字面量
  • 对象字面量
  • 函数字面量
/* 
124345454 就是一个字面量 如果重复使用的会很麻烦
变量可以用来保存字面量,而且变量的值可以任意改变
尽量不会直接使用字面量
x = 10;  x变量 10字面量  给变量赋值时,等号右边的都可以认为是字面量
使用变量之前需要声明变量 var x;
可以同过变量对字面量进行描述 var age = 18;
*/

数据类型就是字面量的类型

基本数据类型

字符串(String)

var str = "hello"; // 将hello字符串赋值给str这个变量,这个str就是字符串类型

console.log(str) // str就是变量
console.log("hello") // “hello"就是字符串字面量

var只要声明一次就可以,在一个名称

数字(Number)

在js中所有的数值都是Number类型

整数和浮点数

 // typeof 变量 检查一个变量的类型
 var a = 123;
 console.log(typeof a)
 
 // Number.MAX_VALUE js中可以表示的最大值
 console.log(Number.MAX_VALUE)
 
如果数字超过最大值 会出现Infinity 正无穷
console.log(typeof Infinity)  // Number

 // NaN 是一个特殊的数字 Not a Number
a = "a" * "b";
console.log(a);  // NaN
console.log(typeof a) // Number

// Number.MIN_VALUE 0以上的最小值,表示最小的正小数


// js中整数运算基本可以保证精确
var a = 123434 + 232313;

// js进行浮点元素,可能会得到不精确的结果
// 不要用js进行精确度较高的运算
var a = 0.2 + 0.3;


布尔(Boolean)

布尔值只有 true 和 false,主要用来做逻辑判断

var bool = true;
console.log(typeof bool); // boolean

空值(Null)

Null 类型的值只有一个 null

var a = null;
console.log(a); // null 专门从来表示一个为空的对象
console.log(typeof a)  // 返回object

未定义(Undefined)

Undefined类型只有一个,就是undefined

var a;
console.log(b); // 声明变量但是不赋值就会返回undefined
// 不声明就会报错
console.log(typeof b) // undefined

基本数据类型的强制转换

将一个数据类型强制转换为其他的数据类型

将其他的数据类型转换为: String Number Boolean

将其他的数据类型转换为String

var a = 123;
console.log(typeof a) // number
// 调用被转换类型的 toString()方法 不会改变原来的变量,将转换的结果返回
var b = a.toString();
console.log(typeof b);  // string

a = null;
b = a.toString();

a = undefined;
b = b.toString();  // 这两个值没有toString方法 ,所以会报错

// 用String函数进行转换,将转换的数据作为参数传递给函数,返回值
// String() 函数做强制转换,对number和boolean实际上就是调用toString()方法
// null 和 undefined 就会通过函数直接转换成 "null" "undefined"
b = String(a);
console.log(a); // string

将其他的数据类型转换为Number

字符串 - > 数字:

  • 如果是纯数字直接转换为数字
  • 如果字符串中有非数字内容,转换为NaN
  • 如果字符串是空串或者全是空格则转为 0

布尔 -> 数字

  • true -> 1
  • false -> 0

Null -> 数字 --》 0

Undefined ->数字 —》NaN

var a = "123";

//使用Number()函数
var b = Number(a);

// 专门针对字符串
// parseInt() 将字符串转换为一个整数,将有效的整数内容取出来,从左到右
// parseFloat() 吧一个字符串转换为一个浮点数
var a = "123px";
b = parseInt(a); // 123

var a = "123.123px";
var b = parseFloat(a); // 123.123

//如果对非string使用者量方法时,先将其转换为String,然后在进行转换
var a = true;
var b = parseInt(a); //NaN
====
a = "true"; // NaN

其他进制的数字

var a = 0x10; // 16进制
var b = 070;  // 8进制
var c = 0b10; // 2进制  
console.log(a) // 16 都会返回十进制
console.log(c) //有的浏览器不支持

var d = "070" //有些会当成8解析
var e = parseInt(d,10); //10代表的就是10进制

将其他的类型转换成boolean

使用Boolean()函数[只有js可以这样做]

  • 数字 -> 布尔:除了 0 和 NaN其他的都说true
  • 字符串 -> 布尔 :除了空串,其余的都是true
  • null -> 布尔 : false
  • undefined -> 布尔 : false
  • 对象 -> 布尔: true
var a = 123;
var b = Boolean(a); // true

引用数据类型

对象(Object)

后续补充

猜你喜欢

转载自blog.csdn.net/qq_42992704/article/details/105022924