初识JavaScript

ECMAScript的五种基本数据类型:

Undefined,nullBooleanNumberString

ECMAScript的复杂数据类型

Object

由于这几种数据类型具有动态性,所以不支持自定以数据类型。
松散类型的ECMAScript,给定一个特殊的操作符来检测给定变量的数据类型:typeof

Undefined(这个值未定义),Boolean(这个值是Boolean值),Number(这个值是数值)和String(这个值是字符串)object(这个值是对象或者null),Function这个值是函数。
下面是使用typeof的例子;
var msg="some String";
alert(typeof msg);//String
alert(typeof (msg));//String
alert(typeof 95);//number
注意,typeof只是个检测的操作符,既不是函数,也不是方法
在ECMAScript中声明变量和初始化时:
var msg2;//声明一个变量;msg2的默认值为undifind
var msg3="Undifind";
var msg4 //变量没有申明;
undefind是只有一个值类型的数据类型;
null是第二个只有一个值类型的数据类型;
var message=null;
只要保存的对象的变量还没有真正的保存对象,就应该明确的让该变量保存null值;这样做不仅可以体现null作为空对象指针的惯例,有助于进一步区分null和undifind。
number类型,number在ECMAScript中可以存储10进制,也可存8进制,还可以存16进制;
10进制的整数是直接存的:
var intNum=508进制的数字存储:
var catNum=070//八进制的56;
var catNum2=079//解析错误为十进制的79;
var catNum3=08//解析错误为十进制的8;
注意:8进制的字面值首位必须为0,第二位为8进制的数字序列(0-7);如果超出范围,前导的0就会被忽略;
16进制的数字存储:
var hexNum1=OxA;//十六进制的10;
var hexNum2=Ox1f;//十六进制的31;
十六进制的前两位必须为Ox,后面跟16进制的0-9,a-f;可以大写,也可以小写;
但是做算数运算的时候,都会转化为10进制来做运算;
float的计数方法我们多采用科学计数法;
var floatNum=3e-70.0000003);
var floatNum=3.125e731250000);
对于数值越界的时候:可以用isFinite去做检测
比如已知定义了一个Number
var result=Number.MAX_VALUE()+Number.MAX_VALUE();
alert(result.isFinite(result));//false;
这个数位于最大值和最小值之间的话,就会返回true,不在这之间的话就是false
NaN非数值的应用,检查一个返回值是不是数值或者Boolean型的true或者false(可以转换成1),避免除数为0是挺有用的。
数值转换
Number(),praseInt(),parseFloat();
Number的转换规则如下:
truefalse将会分别转换为10;
如果是数值值将会简单的传入和返回;
如果是null则会返回0;
如果是Undifind;将会返回NAN();
字符串也会按照数字方式转换;
如果对象的话则用valueOf(),如果返回的结果是NaN(),那么则要用toString()的方法去做。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值