-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path01 BasicSyntax.js
More file actions
117 lines (74 loc) · 3.89 KB
/
01 BasicSyntax.js
File metadata and controls
117 lines (74 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/// 1.Number
// JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的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
// 四则运算
1 + 2; // 3
(1 + 2) * 5 / 2; // 7.5
2 / 0; // Infinity
0 / 0; // NaN
10 % 3; // 1
10.5 % 3; // 1.5,浮点型也可求余
/************************************************************************************************/
/// 2.字符串
// 字符串是以单引号'或双引号"括起来的任意文本('a'或"a")
/************************************************************************************************/
/// 3.Bool
true; // 这是一个true值
false; // 这是一个false值
2 > 1; // 这是一个true值
2 >= 3; // 这是一个false值
/************************************************************************************************/
/// 4.比较运算符
// JavaScript允许对任意数据类型做比较:
false == 0; // true
false === 0; // false
// [==比较],它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
// [===比较],它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。
// ** 由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用[===]比较。
NaN === NaN; // "false", NaN这个特殊的Number与所有其他值都不相等,包括它自己
isNaN(NaN); // "true", 唯一判断方法
// 浮点型的比较,只可比较差值
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
// null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”。(类似swift的nil)
// JavaScript的设计者希望用null表示一个空的值,而undefined表示值未定义。
// 事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null。undefined仅仅在判断函数参数是否传递的情况下有用。
/************************************************************************************************/
/// 5.数组
[1, 2, 3.14, 'Hello', null, true]; // JavaScript的数组可以包括任意数据类型
new Array(1, 2, 3); // 创建了数组[1, 2, 3]
var arr = [1, 2, 3.14, 'Hello', null, true];
arr[0]; // 返回索引为0的元素,即1
arr[5]; // 返回索引为5的元素,即true
arr[6]; // 索引超出了范围,返回undefined
/************************************************************************************************/
/// 6.对象
// JavaScript的对象是一组由键-值组成的无序集合; 键都是字符串类型,值可以是任意数据类型
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
/************************************************************************************************/
/// 7.变量
var a; // 申明了变量a,此时a的值为undefined
var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1
var s_007 = '007'; // s_007是一个字符串
var Answer = true; // Answer是一个布尔值true
var t = null; // t的值是null
// 可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用var申明一次
var a = 123; // a的值是整数123
a = 'ABC'; // a变为字符串
/************************************************************************************************/
/// 8.strict模式
var a = 10;
b = 100; // 不使用var,全局变量
// 启用strict模式的方法是在JavaScript代码的第一行写上:“不使用var声明命令会报错”
'use strict';