ECMAScript 基础(一)

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);


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值