数据类型
1、字符串
2、数值型
3、布尔型
4、对象
5、数组
为了更规范,使自己将来在工作时更容易与方便维护,采用一些数据类型的名命习惯
类型 |
前缀 |
例子 |
数组 |
a |
aArray |
布尔值 |
b |
bMale |
浮点 |
f |
fTax |
函数 |
fn |
fnSwap |
整型 |
i |
iAge |
对象 |
o |
oCar |
正则 |
re |
RePattern |
字符串 |
s |
sUniversity |
一、字符串 String
var sMyString = "hello world";
字符串可以是引号中的任意文本。可使用单引号与双引号。
实例:
代码: var sMyString = "hello world"; var sMyString = 'hello world'; var sMyString = '"hello world"'; var sMyString = "'hello world'"; 结果: hello world hello world “hello world” ‘hello world’
字符串具有length属性,可以返回变量中字符串的个数。
var sMyString = "hello world"; document.write(sMyString.length); //输出sMyString的字符串个数:11
获取指定位置的字符,可以使用 charAt() 函数。
注意:第一个字符位置为0,第二个字符为1,依次类推。
var sMyString = "hello world"; document.write(sMyString.charAt(1)); //输出结果为:e
如果想取得变量中的字符串,可以采用substring() 或者 substr()
substring() var sMyString = "ABCDEFG" document.write(sMyString.substring(1)+"<br>"); //输出BCDEFG,从位置1截取到最后 document.write(sMyString.substring(1,4)+"<br>"); //输出BCD,从位置1截取到位置4,不包含位置4
substr() var sMyString = "ABCDEFG" document.write(sMyString.slice(1,4)+"<br>"); //输出BCDE,从位置1开始,截取4位
在搜索字符串上,可使用 indexOf() 或者 lastindexOf(),
indexOf() :返回源字符串内第一次出现子字符串的首个字符在源字符串中的索引值,是整数,查找方向是从左往右
lastindexOf():查找方向是从右往左,
如果没有找到子字符串,则返回-1
var sMyString = "ABCDEFGHIJK"; s1 = sMyString.indexOf("E")+"<br>"; //从前往后查找E的位置 s2 = sMyString.indexOf("E",3)+"<br>"; //可选参数,从第几个字符往后查找 s3 = sMyString.lastIndexOf("E")+"<br>"; //从后往前查找 s4 = sMyString.lastIndexOf("E",3)+"<br>"; //可选参数,从第几个字符往前查找 document.write(s1); document.write(s2); document.write(s3); document.write(s4);
结果:
4 4 4 -1
二、布尔型 Boolean
可选值:true、fasle
var bb = false; //声明bb为false if (bb) { //如果bb为true document.write("aaa" + "<br>"); //刚输出aaa } else { //否则 document.write("ccc"+"<br>"); //否则输出ccc }
//结果输出是:ccc
用 typeof() 来显示变量的类型: var bb= true; document.write(typeof (bb) + "<br>"); var bb = false; document.write(typeof (bb) + "<br>"); var bb = "12345"; document.write(typeof (bb) + "<br>"); var bb = 12345; document.write(typeof (bb) + "<br>");
结果:
boolean
boolean
string
number
三、数值 Number
javascript中想限定一个数的数值,无需限定它是整数还是浮点数型
var iNum1 = 10;
var fNum2 = 56.41;
var iNum3 = -41;
document.write(iNum1+" "+iNum2+" "+iNum3);
//输出结果:10 56.41 -41
四、类型转化
toString() :把一个逻辑值转换为字符串,并返回结果。
var a = 3; var b = a + 3; var c = "student" + a; var d = a.toString(); var e = a + ""; document.write(a + " " + b + " " + c + " " + d + " " + e+"<br>"); document.write(typeof (a) + " " + typeof (b) + " " + typeof (c) + " " + typeof (d) + " " + typeof (e));
//输出结果:
3 6 student3 3 3
number number string string string
parseInt():将字符串转化为整数。
parseFloat():将字符串转化为浮点数型。
只有字符才能调用这两种方法,否则转化为NaN。在转化时,会先检查位置0处的字符,如果这个字符是有效字符,则检查1处的字符,如果不是有效字符,刚终止转化。
document.writeln(parseInt("4555.5544") + "<br>"); document.writeln(parseInt("0.5544") + "<br>"); document.writeln(parseInt("a0.5544") + "<br>"); document.writeln(parseFloat("4555.5544") + "<br>"); document.writeln(parseFloat("3a.5544") + "<br>"); document.writeln(parseFloat("a0.5544") + "<br>");
结果:
4555 0 NaN 4555.5544 3 NaN
五、数组 Array
数组是一组具有相同类型和名称的变量的集合。这些变量称为数组的元素(element),每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数也称之为数组的长度。
在JavaScript中,数组使用关键字 Array 声明创建,同时还可以声明变量的长度 length。
例:
var aMyArray = new Array(9); //声明变量的长度
在不确定数组的最终个数时,声明数组可以不指定具体个数。
例:
var aMyArray = new Array(); //数组不确定个数的情况下,可以不声明具体的个数 aMyArray[0] = 1234; aMyArray[1] = "1234"; aMyArray[2] = "red"; aMyArray[3] = "blue"; aMyArray[4] = "black";
document.write(aMyArray); //输出到页面
输出效果:
1234,1234,red,blue,black
另外,也可以直接创建数组
例: var aMyArray = new Array(1234, "1234", "red", "blue", "black"); document.write(aMyArray+"<br>");
document.write(typeof(aMyArray[0])+" "+typeof(aMyArray[1]); //输出数组元素的数据类型
输出效果: 1234,1234,red,blue,black
number string
另外,还可以用
数组可以用 toString() 转化为字符串
var aMyArray = new Array(1234, "1234", "red", "blue", "black"); document.write(aMyArray.toString()+"<br>");
join() 改变数组间的连接符
例: var aMyArray = new Array(1234, "1234", "red", "blue", "black"); document.write(aMyArray.toString() + "<br>"); document.write(aMyArray.join("-").toString()+"<br>"); document.write(aMyArray.join("+")); 效果: 1234,1234,red,blue,black 1234-1234-red-blue-black 1234+1234+red+blue+black
split() 把字符串变成数组
例: var sMyString = ("1234,red,blue,black"); var aMyArray = sMyString.split(","); document.write(sMyString+"<br>"); document.write(aMyArray.join("-")); 效果: 1234,red,blue,black 1234-red-blue-black
reverse() 把数组元素反序
例: var sMyString = ("1234,red,blue,black"); var aMyArray = sMyString.split(","); document.write(sMyString+"<br>"); document.write(aMyArray.join("-")+"<br>"); document.write(aMyArray.reverse().join("+")); 效果: 1234,red,blue,black 1234-red-blue-black black+blue+red+1234
利用 sort() 使数组元素进行字母顺序的排序
例: var sMyString = ("1234,red,blue,black"); var aMyArray = sMyString.split(","); document.write(sMyString+"<br>"); document.write(aMyArray.join("-")+"<br>"); document.write(aMyArray.reverse().join("+")+"<br>"); document.write(aMyArray.sort().join("=")); 效果: 1234,red,blue,black 1234-red-blue-black black+blue+red+1234 1234=black=blue=red