ECMAScript 基础(一)

本文介绍了ECMAScript的基础知识,包括变量类型的分类及其特点,如原始值类型Undefined、Null、Boolean、Number和String;详细解释了typeof运算符的使用,并深入探讨了数值类型Number的特性,以及如何在ECMAScript中进行类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ECMAScript 基础(一)

ECMAScriptJavaScript 的重要核心组件


变量类型


ECMAScript 的变量类型分为原始值和引用值,与C#中的值类型和引用类型大同小异
只不过值得一提的是,ECMAScript中的 String 类型被视为原始值类型
ECMAScript 有五种原始值类型 UndefinedNullBooleanNumberString

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非数情况 一般都是由于 StringBoolean 转换成 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);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值