ECMAScript原始类型精讲
关键字: ecmascript原始类型精讲为了更好的深入了解JavaScript是如何运作的,必须先了解JavaScript的核心ECMAScript。ECMAScript的变量可以分为原始值和引用值;
原始类型:Undefined,Number,String,Boolean,Null.
判断变量的类型使用typeof操作符,可能返回"undefined","boolean","string","number","object","function",
<script type="text/javascript">
function functionType()
{}
window.onload = function()
{
var stringType = "abc";
var numberType = 123;
var boolType = true;
window.alert(typeof stringType); //输出"string"
window.alert(typeof numberType); //输出"number"
window.alert(typeof boolType); //输出"boolean"
window.alert(typeof functionType); //输出"function"
window.alert(typeof undefinedType); //输出"undefined"
window.alert(typeof null); //输出"object"
window.alert(typeof Math); //输出"object" Math是内置对象
}
</script>
比较特别的地方 typeof运算符对于null值会返回"object"。这实际上是JavaScript最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。
一、Undefined类型
Undefined类型只有一个值 就是undefined
"undefined"可能出现的几种情况
1 定义了变量 但是没有赋值而直接引用
2 无返回值的函数
<script type="text/javascript">
function funA()
{
return "s";
}
function funB()
{
}
window.onload = function()
{
var a;
window.alert(a); //输出undefined
window.alert(funA()); //输出s
window.alert(funB()); //输出undefined
}
</script>
Null类型
Null类型也只有一个值 就是null
值undefined是从null派生来的,所以ECMAScript把他们规定为相等的
<script type="text/javascript"> window.alert(null == undefined); //输出true </script>
虽然null和undefine相等 但是含义不同
null表示尚未存在的对象 函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null
Boolean类型
Boolean类型有两个值 true和false 和C语言一样 对于数字来说 0可以转换成false 非0可以转换成true(C语言没有true,false变量 C可以用0代表false 非0代表true)
Number类型
数字类型,整形有3种表示方法 八进制 十进制 十六进制 浮点数有2种表示方法 普通的表示方法 以及科学计数法
八进制首位用0表示后面其余的位用0-7表示 如var a = 010;
十六进制首两位用0x(或0X)表示后面其余的位用0-9,a-e(或A-E)如var a = 0xA1E;
十进制可以用日常的表示方法 比如var a=123;
浮点数的科学计数法 数组+e(或E)+幂 比如var a = 1.56e9 表示1.56*(10的9次方)
所有整数都可表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。如果需要得到八进制或十六进制的结果,可以用本地对象Number的方法进行转换
<script type="text/javascript">
window.onload = function()
{
var a = 010;
var b = 0x10;
window.alert(a+b);//输出24
}
</script>
Number有几个特殊的值 是本地对象Number的属性 分别是
MAX_VALUE 返回能表达的最大的数。约等于 1.79E+308
MIN_VALUE 返回能够表示的最接近零的数。约等于 2.22E-308
POSITIVE_INFINITY 表示比MAX_VALUE还大的数 就是无穷大了
NEGATIVE_INFINITY 表示比-MAX_VALUE还小的数 就是无穷小了
POSITIVE_INFINITY=Infinity NEGATIVE_INFINITY=-Infinity 其中Infinity是内置对象Global的成员
NaN(Not a number的缩写) 非数 比如当把string变量var a = "anc";转换成数字类型的时候 会返回NaN
比较奇怪的地方是NaN不等于本身 比如 window.alert(NaN==NaN)会返回false
所以 当判断一个变量是否是数字的时候 应该用Global的isNaN方法
String类型
String用双引号用单引号括起来
比如var a = "blue";和var b = 'blue'都是合法的 都表示一个字符串
在C语言里,字符用单引号 字符串用双引号。但是JavaScript没有字符类型 只有字符串类型
发表评论
- 浏览: 60455 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
共 5 张
最近加入圈子
最新评论
-
Tomcat中如何打开Sun JSF ...
在websphere下能打开日志吗?
-- by lfx2002 -
maven 五分钟 cook
cnfree 写道Maven是好东西,以前公司的项目用Ant build 一次要 ...
-- by hantsy -
maven 五分钟 cook
Maven是好东西,以前公司的项目用Ant build 一次要2个多小时,用Ma ...
-- by manysysy -
JSF和Ext2综合使用方案
AOM有别于其它jsf框架和其它web框架的最大特性就是Iovc,这一点使得大部 ...
-- by JJYAO -
f:view beforePhase的用法
是这样子的,看下面的code: public void init(PhaseE ...
-- by hintcnuie






评论排行榜