ECMAScript 基础(一)
ECMAScript 是 JavaScript 的重要核心组件
变量类型
ECMAScript 的变量类型分为原始值和引用值,与C#中的值类型和引用类型大同小异
只不过值得一提的是,ECMAScript中的 String 类型被视为原始值类型
ECMAScript 有五种原始值类型 Undefined 、Null 、 Boolean 、 Number 和 String
typeof 运算符
用于检查变量的类型
var
Temp
=
"
abc
"
;
alert(
typeof
Temp);
//
输出String
Temp
=
95
;
alert(
typeof
Temp);
//
输出Number

/**/
/*
* 唯一不用的是 null 类型,虽然他是原始型
* 但是它的返回值是 object 这实际上是JavaScript
* 最初的一个错误,然后被ECMAScript沿用了
*/
Undefined 类型
var
Temp1;
alert(
typeof
Temp1);
//
都将输出Undefined
alert(
typeof
Temp2);
/**/
/*
* 当变量声明后没有被初始化,或者变量根本没有定义
* 那么,他的类型将是 Undefined
*/

function
returnUndefined()
...
{
}
alert(returnUndefined()
==
Undefined);
/**/
/*
* 当一个函数没有明确的返回值时,返回的是Undefined
*/
Null 类型
值 Undefined 实际上是从 null 派生来的
所以 ECMAScript 将这两种类型视为相等
Number 类型
var
num
=
5
;
//
被视为32位整型
num
=
5.0
;
//
被视为64位浮点型 但是是运算之前,被认为是 String 类型
num
=
05
;
//
8进制
num
=
0x5
;
//
16进制

/**/
/*
* 不管是8进制,还是16进制
* 所有的数学运算,返回都是10进制进行运算
* alert(num); 返回都是10进制
*/
num
=
3.14e7
;
//
3.14 * 10^7

/**/
/*
* 当计算的结果大于 Number 的最大数(Number.MAX_VALUE)时
* 返回的结果为Number.POSITIVE_INFINITY(正无穷大)
* 或结果为Number.NEGATIVE_INFINITY(负无穷大)
*/
isFinite() 函数用于判断数是否是无穷大(无论是正无穷大还是负无穷大)
var
Temp1
=
Number.MAX_VALUE;
var
Temp2
=
2
;
alert(isFinite(Temp1
*
Temp2));
//
返回 false 表示此结果超出范围
NaN非数情况 一般都是由于 String 或 Boolean 转换成 Number 失败造成
类型转换
转换成字符串
toString()方法
var
Temp
=
true
;
alert(
typeof
Temp);
//
输出 Boolean
alert(
typeof
Temp.toString());
//
输出 String
Temp
=
95
;
alert(
typeof
Temp);
//
输出 Number
alert(
typeof
Temp.toString());
//
输出 String
//
将数据按照哪种进制输出
Temp
=
95
;
alert(Temp.toString(
2
));
//
以8进制输出 1011111
alert(Temp.toString(
8
));
//
以8进制输出 137
alert(Temp.toString(
16
));
//
以8进制输出 5f
转换成数字
整型
parseInt()方法
var
num;
num
=
parseInt(
"
1234abcd
"
);
//
返回1234 将检查到第五个数时类型不同跳出转换
num
=
parseInt(
"
0xA
"
);
//
返回 10
num
=
parseInt(
"
22.5
"
);
//
因为是 parseInt() 所以返回整型 22
num
=
parseInt(
"
blue
"
);
//
返回NaN
parseInt 方法还有一个重载方法
var
num;
num
=
parseInt(
"
AF
"
,
16
);
//
将AF以16进制形式转换成整型 175
num
=
parseInt(
"
10
"
,
2
);
//
将10以2进制形式转换成整形 2
num
=
parseInt(
"
10
"
,
8
);
//
将10以8进制形式转换成整形 8
浮点型
parseFloat()方法
var
num;
num
=
parseInt(
"
1234abcd
"
);
//
返回1234.0
num
=
parseInt(
"
0xA
"
);
//
返回 NaN
num
=
parseInt(
"
22.5
"
);
//
返回 22.5
num
=
parseInt(
"
22.5.3
"
);
//
返回 22.5
num
=
parseInt(
"
0908
"
);
//
返回 908
num
=
parseInt(
"
blue
"
);
//
返回NaN
强制类型转换
var
Temp
=
...;
Boolean(Temp);
Number(Temp);
String(Temp);
本文介绍了ECMAScript的基础知识,包括变量类型的分类及其特点,如原始值类型Undefined、Null、Boolean、Number和String;详细解释了typeof运算符的使用,并深入探讨了数值类型Number的特性,以及如何在ECMAScript中进行类型转换。
613

被折叠的 条评论
为什么被折叠?



