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中进行类型转换。
299

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



