-
Notifications
You must be signed in to change notification settings - Fork 1
/
8.16 全局与局部变量.txt
165 lines (126 loc) · 4.72 KB
/
8.16 全局与局部变量.txt
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
全局变量和局部变量
ECMAScript的变量是弱类型(松散类型),可以用来保存任何数据类型的数据。
定义变量时使用var操作符
1、全局变量:
1》全局变量
如果在函数中定义变量没有加var,变量为全局变量。
2》局部变量
使用var操作符定义的变量,生命在函数内部
只能活动于某种特定的区域内的变量
2、数据类型
1》ECMAScript不支持自定义类型,只有6中数据类型
5种基本数据类型(简单数据类型):
栈区:先进后出
都存在栈区
Undefined:未定义,只声明,不赋值的变量
将undefined显性的赋值给变量
不声明,也不赋值的变量
派生自null,undefined==null为true,但二者用途不同,null可用来表示一个空对象。
console.log(str)//返回值:undefined
console.log(typeof(str))//返回值:String字符串类型
Null:空引用数据类型。
存在栈区, 即将要指向堆区中的一块空间
null可表示一个空对象的指针
var str=null;
Boolean:布尔类型 常用于条件判断
true/false
var a=false;
Number:数字类型
整数(八进制 十进制 16进制)
浮点数(小数)
var a=1.2//1.2
var a=1.0//1
var a=1.30//1.3
科学计数法:var a=1.2e7;
isFinite(a) 判断当前变量是否在内存区域内
NaN:not a number
var a=10/"v"
var str="hello";
isNaN():参数是一个数返回false,反之,返回true
String:字符串类型
使用双引号“” 或者单引号‘’括起来
var a=“true”//string类型
var a=“null”//string类型
var a=“hello”//string类型
\" :"
\n :换行
\' :'
length属性:
var str=”hello“
console.log(str.length);
1种引用数据类型(复杂数据类型)
最大父级对象object
object(本质由一组无序的键值对组成)
var person= new Object();
person.name = "terry";
person.age = 12;
1.使用new关键字
var student=new Object();//null
student.name="zhangsan";
student.age=12;
2.
var student={
name:"zhansgan",
age:12
};
constructor:属性
student.contructor:Object 返回一个创建当前对象的父对象
toString();返回一个字符串类型的当前对象[ Object Object]:string
2》typeof操作符
返回该变量名所指向数据的类型
语法: typeof 变量名
取值:
undefined 未定义
boolean 布尔类型
string 字符串
number 数值
object 对象或者null
function 函数
3》基本数据类型
undefined
3、类型转换
一般将其他数据类型转换为Number/Boolean/String
1》---boolean
string:
非空字符串,true。
“ ”:true
“”:false
number:
整数:true
0:false
NaN:false
object---------null
undefined--------false
null:---------false
Boolean(""); //false
Boolean(" "); //true
Boolean(0); //false
Boolean(NaN); //false
Boolean(null) //false
Boolean(undefined) //false
Boolean("briup"); //true
Boolean(1); //true
2》----number
1) 如果转换的值是null,undefined,boolean,number
Number(true); //1
Number(false); //0
Number(null); //0
Number(undefined); //NaN
Number(10); //10 如果是数字值,原样输出
2) 如果是字符串:
Number("123"); //如果仅包含数值,转换为对应的数值
Number("234.1");//解析为对应的小数
Number("+12.1");//首位为符号位,其余为为数值,转换为对应的数值
Number("1+2.3");//NaN 符号位出现在其他位置,解析为NaN
Number("0xa"); //如果仅包含十六进制格式,转为为对应的十进制的值
Number("010"); //【注意!】不会当做八进制被解析,结果为10
Number(""); //空字符串被转换为0
Number("123ac");//包含其他字符: NaN
Number(" 12"); //12
将字符串转为number人类型时,
字符串中包含字母转换为NaN,
字符串中包含的为八进制,不会对应的转换八进制,会忽略前导0:055---55
字符串包含的为16进制的数值,转换为对应的10进制数;
只有数字,直接转化为对应的number,
在数字之前包含+、—号,直接转换为对引得数值,并按照+、-设置数值的正负,
数字之后包含+、-号,直接转换为NaN