javascript笔记(3)

javaScript数据类型和值
1、数字
      javaScript并不区别整形数值和浮点数值,在javaScript中,所有的数字都是用浮点型表示的。
      javaScript支持数值直接量的形式有:整型直接量、八进制和十六进制直接量,还有浮点型直接量。例如213(整型),0xfc(十六进制),0345(八进制),其中某些javaScript不支持八进制直接量,最好不要使用八进制直接量(以0开头),在javaScript还可以用Math对象,例如:正弦sin_x = Math.sin(x),平方根hypot = Math.sqrt(x*x + y*y)。
      发现了一点有趣的东西,虽然以前见过,但是不是很熟悉,现在可以熟悉一下了:当一浮点值大于所能表示的最大值时,用Infinity表示无穷大,同样还有负无穷大(-Infinity),加个负号就可以:>同样,还有NaN表示非数字的特殊值,这个数字值很特殊,跟任何数值都不相等,包括它自身,必须得用专门的函数判断:isNaN()来检测这个值,isFinitel()来检测一个数是否是NaN、正无穷或者负无穷。我用脚本试验了几个:
<script>
document.write("Number.NaN:"+Number.NaN+"<br>"); //NaN
document.write("Number.MAX_VALUE:"+Number.MAX_VALUE+"<br>");  //能表示的最大值
document.write("Number.MIN_VALUE:"+Number.MIN_VALUE+"<br>");  //最小值
document.write("Number.POSITIVE_INFINITY:"+Number.POSITIVE_INFINITY+"<br>");  //正无穷
document.write("Number.NEGATIVE_INFINITY:"+Number.NEGATIVE_INFINITY+"<br>");  //负无穷
</script>

结果显示:

Number.MAX_VALUE:1.7976931348623157e+308
Number.MIN_VALUE:5e-324
Number.POSITIVE_INFINITY:Infinity
Number.NEGATIVE_INFINITY:-Infinity

2、字符串
  javaScript中只有字符串,不存在字符类型,
  字符串用单引号或者双引号来定界(括起来),当碰到字符串中存在单引号或者双引号的时候,与定界符想同,需要反斜杠\作为转义符来转义一下,比如:'It\'s a good day!'
javaScript的转义序列:
\0    NUL字符                                      \b  退格符                                            \t  制表符
\n    换行符                                        \v  垂直制表符                                    \f  换页符
\r    回车符                                        \"  双引号                                            \'  单引号
\\    反斜线符                                    \xXX 由两位十六进制数值XX指定的Latin-1字符
\uXXXX  由四位十六进制数XXXX指定的Unicode字符
字符串有很多字符串操作函数,用起来非常方便:
<script>
var str = "string operation foo";
var length = str.length;
var last_char = str.charAt(length-1);
document.write(last_char+"<br>");
var sub = str.substring(2,7);
document.write(sub+"<br>");
var pos = str.indexOf('e');
document.write("the first position of letter e is:"+pos);
</script>
结果显示:

ring
the first position of letter e is:9
把数字转换成字符串的方法:
一、使用String()函数。例如:var String_value = String(123);
二、经常用的方法,toString(),例如var n=123; var String_value = n.toString();需要注意的是:该方法还有一个可选参数(我也是刚刚知道...),该参数用来指定转换的基数,例如:
<script>
var n = 18;
bin_string = n.toString(2);//转换成该数值二进制数的字符串
octal_string = "0" + n.toString(8);//八进制字符串
hex_string = "0x" + n.toString(16);//十六进制字符串
document.write("二进制字符串:"+bin_string+"<br>八进制字符串:"+octal_string+"<br>十六进制字符串:"+hex_string);
</script>

结果显示为:
二进制字符串:10010
八进制字符串:022
十六进制字符串:0x12
ECMAScript v3 和javaScript 1.5 通过为Number类增加了3个新的数字到字符串的方法来解决显示一次而传统格式数字的问题(javaScript 1.5以前没有内建方法来把一个数字转换为字符串,并且指定其中所包含的小书店的位置,或者指定是否应该使用指数表示法)。
一、toFixed()方法把一个数字转换成字符串,并显示小数点后指定的位数;
二、toExponential()使用指数表示法把一个数字转换成字符串;
三、toPrecision()使用指定有意义的位数来显示一个数字,如果有意义的数字还不够显示整个整数部分,他就使用指数表示法(我的理解就是,如果这个数整数部分有8为,而指定了4位,用小数模式无法显示,只好用指数表示法了:>)

代码试验:
<script>
var n =1234567.89
n1 = n.toFixed(0);
n2 = n.toFixed(1);
n3 = n.toExponential(1);
n4 = n.toExponential(4);
n5 = n.toPrecision(3);
n6 = n.toPrecision(8);
document.write("n="+n+"<br>");
document.write("n.toFixed(0)="+n1+"<br>");
document.write("n.toFixed(1)="+n2+"<br>");
document.write("n.toExponential(1)="+n3+"<br>");
document.write("n.toExponential(4)="+n4+"<br>");
document.write("n.toPrecision(3)="+n5+"<br>");
document.write("n.toPrecision(8)="+n6+"<br>");
</script>

结果显示:

n.toFixed(0)=1234568
n.toFixed(1)=1234567.9
n.toExponential(1)=1.2e+6
n.toExponential(4)=1.2346e+6
n.toPrecision(3)=1.23e+6
n.toPrecision(8)=1234567.9

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值