JavaScript学习笔记--数据类型

廖雪峰的JavaScript教程笔记

数据类型

1、Number类型

不区分整数和浮点数,整数、浮点数、科学计数法、负数、NaN、Infinity都是合法的Number类型

123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity

注意,有时候会出现16进制表示法,能识别就行,如:0xff00
Number除了常用的加减乘除四则运算,还要掌握求余运算%

1 + 2; // 3
(1 + 2) * 5 / 2; // 7.5
2 / 0; // Infinity
0 / 0; // NaN
10 % 3; // 1
10.5 % 3; // 1.5
2、字符串

用单引号或者双引号括起来的任意文本

3、布尔值

true、false(常用于条件判断)

&&(与) 、||(或)、!(非)运算
true && true; // 这个&&语句计算结果为true
true && false; // 这个&&语句计算结果为false
false && true && false; // 这个&&语句计算结果为false
false || false; // 这个||语句计算结果为false
true || false; // 这个||语句计算结果为true
false || true || false; // 这个||语句计算结果为true
! true; // 结果为false
! false; // 结果为true
比较运算(>、== 、<、===)

学会区分"== " 和 “===”
注意
1.NaN比较特殊,和谁都不想等,包括自己,只能通过isNaN()函数判断

NaN === NaN;//false
isNaN(NaN);//true

2.浮点数无法进行相等比较,只能通过计算绝对差值进行比较

1 / 3 === (1 - 2 / 3); // false
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
null和undefined

null是空值,但是和0以及空字符串’'不同
undefined是未定义,一般用来判断参数是否传参
两者实际意义区别不大

4、数组

可包含任意元素

var arr = [1, 2, 3.14, 'Hello', null, true];
5、对象

键值对,键都是字符串

var person = {
     
    name: 'Bob',
    age: 20,
    tags: ['js', 'web', 'mobile'],
    city: 'Beijing',
    hasCar: true,
    zipcode: null
};
6、变量

变量名的定义,可以是数字字母和"$"、"_"的任意组合,但是不能以数字开头,也不能用js的关键字,比如for、if、while

会区分动态语言和静态语言

变量可以被多次赋值,而且可以是不同类型的值(动态语言),java就只能被同一种类型赋值(静态语言)

//javascript
var a = 123; // a的值是整数123
a = 'ABC'; // a变为字符串
//java
int a = 123; // a是整数类型变量,类型用int申明
a = "ABC"; // 错误:不能把字符串赋给整型变量
7、补充,了解strict模式

var定义变量和没有var的区别
廖雪峰https://www.liaoxuefeng.com/wiki/1022910821149312/1023020925712064

你可能感兴趣的:(JavaScript学习笔记--数据类型)