JavaScript 数据类型

来源:互联网 发布:点雇网 在线全职美工 编辑:程序博客网 时间:2024/05/01 15:08
计算机程序是通过操作值(value)来运行的,而承载操作值的类型被称为数据类型(datetype) 。javascript 允许使用3中基本数据类型--数字、字符串和布尔值,此外还支持两种小数据类型null(空)、undefined(未定义)。

数字(Number)

在javascript中是最基本的数据类型,所有的数字都是由64位浮点数表示的。

javascript支持十进制、八进制、十六进制的直接量,但是在在对于八进制和十进制直接量上,一个以“0”开头的直接量数字,javascript不知道到底是要解析成八进制还是十进制,所以尽量不要使用“0”开头的整数直接量。

由于javascript数字类型使用浮点类型表示的,而浮点类型长度是有限的,可能会存在数据不准确。 数字类型语法:

[digits][.digits][(E|e)[(+|-)]digits]  例如:3.14    6.01e23

javascript对于数字的运算除了+、-、*、/,Math对象里复杂的数字计算函数。在对于数字转成字符串可以再数字后面直接+空字符串,还可以使用String()函数 var sting_val = String(number);,还可以使用number.toString();方法。toString()方法是有一个参数的,不填是默认10为基数,可选是(2-36)例如:

<html><head><title>Number</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){var n = 17;binary_sting = n.toString(2);      //Evaluates to "10001" octal_string = "0" + n.toString(8);    //    021hex_string = "0x" + n.toString(32);    //  Ox11alert(hex_string);}</script></body></html>

javascript在1.5增加了3个数字到字符串的新方法,对于这3个方法都是四舍五入的。
toFixed():该方法是把一个数字转换成数字并且显示小数后指定的位数,小数后不以指数形式显示。
toExponential():该方法是把一个数字转化成指数形式。
toPrecision():使用指定的有意义的位数显示一个数字,如果有意义的位数还不够显示数字的整个整数部分,它就使用指数法表示。例子:

<html><head><title>Number</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){var n = 123456.789;var l = 123456;//alert(n.toFixed(0));//123457//alert(n.toFixed(2));//123456.79//alert(n.toExponential(1));//1.2e+5//alert(n.toExponential(3));//1.235e+5//alert(n.toPrecision(4));//1.235e+5//alert(n.toPrecision(7));//123456.8alert(l.toFixed(2));//123456.00}</script></body></html>

javascript特殊数值的常量:

Infinity:表示无穷大的特殊值   NaN:特殊的非数字值(零除以零);Number.MAX_VALUE:表示最大的数字;Number.MIN_VALUE:可以表示最小的数字(近似到零)。

 

字符串(String)

是由Unicode字符、数字、标点符号等组成的序列。

 对于字符串中的”\“具有转义的意思:\b:是退格符    \t:水平制表符    \n:换行符    \v:垂直制表符    \f:换页符    \r:回车符    \'':双引号    \':单引号    \\:反斜线符。

javascript字符串的使用:可以使用(+)连接字符串。    s.lenght:返回的是s字符串的长度。 s.charAt(number)、s.substring(1, 4)、s.indexOf('a')。

<html><head><title>String</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){var s = "11345";//alert(5 + '5');//55//alert(s.length);//5//alert(s.charAt(2));//3//alert(s.substring(2, 3));//3//alert(s.substring(2, 2));//''alert(s.indexOf('1'));//0}</script></body></html>


字符串转换成数字。自动转换 var product = "22" * "2";    var num = "12" - 0;

<html><head><title>String</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){alert('12' - '1');//11alert('12' * '2');//24alert('12' / '2');//6}</script></body></html>

函数构造转换: var number = Number(string_valeu); 只能是以10为基数的数字有效,允许开头和结束是空白。

<html><head><title>String</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){alert('5.6' + 5);//5.65alert(Number('5.6') + 5);//10.6}</script></body></html>

 

灵活转换:parseInt()和parseFloat()。这些函数可以从字符串开始处转换和返回任何的数字,忽略或舍去非数字部分。

parseInt()只会截取整数部分,parseFloat()会截取整数和小数部分。

parseInt(“11”, 2)可以有基数可以将字符串转成对应的值。如果数据不能转换返回值NaN。

<html><head><title>String</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){//alert(parseInt('aa123.45asd1223'));//NaN//alert(parseInt('   123.45asd1246'));//123//alert(parseInt('11', 2));//3alert(parseFloat('123.56asd'));//123.56}</script></body></html>


 

布尔值(boolean)

布尔值一般以两种形式存在,true、false。一般用于if的判断中。

<html><head><title>Boolean</title></head><body><input type="button" value="click" onclick="test();"><script>function test(){var b = true;// true; 0:falseif (b){alert("true");} else {alert("false")}}</script></body></html>

 

原创粉丝点击