JavaScript的基本数据类型有如下五种
- 数值类型:包括整数和浮点数
- 布尔类型:只有true和false两个值
- 字符串类型:必须用引号引起来,可以是单引号,也可以是双引号
- undefined类型:专门用来确定一个已经创建但是没有初值的变量
- null类型:用于表明某个变量的值为空
数值类型
科学计数法
a = 5e2; //表示5*10^2
b = 1.2E-3; //表示1.2+10^-3
c = .24e-2 //表示0.24*10^-2
//e可以大写也可以小写,如果数值只有小数部分,则整数部分的0可以省略,但小数点不能省略
十六进制和八进制
var a;
//使用十六进制数给a赋值
a = 0x13;//0x13 = 19
var b;
//使用八进制数给b赋值
b = 014;//014 = 12
Infinity(正无穷大)和-Infinity(负无穷大)
当数据变量的值超出了其表示范围时,将出现这两个特殊值
当Infinity与-Infinity之间进行算术运算时,结果变为NaN;Infinity、-Infinity与其他普通数值进行算数运算时,得到的结果依然是无穷大;两个Infinity或两个-Infinity总是相等的
NaN
0/0或两个无穷大执行算术运算都将产生NaN
字符串类型
-
String(): 构建一个字符串
-
charAt(): 获取特定位置的字符
-
charCodeAt:() 返回特定位置的字符对应的Unicode值
-
length: 直接返回字符串长度
-
toUpperCase(): 把字符串里的字母全转换成大写字母
-
toLowerCase(): 把字符串里的字母全转换成小写字母
-
fromCharCode(): 将Unicode值转换成字符串
-
indexOf(): 返回字符串中特定字符串第一次出现的位置
-
lastIndexOf(): 返回字符串中特定字符串最后一次出现的位置
-
substring(star[,end]): 返回字符串的某个子串
-
slice(star[,end]): 返回字符串的某个子串,支持负数参数(负数是倒数第几个的意思)
-
match(): 使用正则表达式搜索目标子字符串
-
search(): 使用正则表达式搜索目标子字符串
-
concat(): 将多个字符串拼成一个子字符串
-
split(): 将某个字符串分隔成多个字符串,可以指定分隔符
-
replace(): 将字符串中某个字符串以特定字符串代替
/**********************************************************************************/
- indexOf(searchString[,startIndex]): 搜索searchString出现的位置,startIndex指定不搜索左边startIndex个字符
- lastIndexOf(searchString[,startIndex]): 搜索searchString最后一次出现的位置
<script type="text/javascript">
var a ="helloworld";
var b = a.indexOf("llo");
var c = a.indexOf("llo",3);
var d = a.lastIndexOf("o");
alert(b + "\n" + c + "\n" + d);
</script>
如果字符串中没用包含目标字符串,则返回-1
JavaScript字符串里第一个字符的索引是0
- substring(start[,end]): 从start(包括)索引处,截取到end(不包括)索引处。//如果没有end参数,一直截取到字符串尾
- slice(start[,end]): 与substring()的功能基本一致,区别是slice()可以接受负数为索引
<script>
var s = "0123456789"
a = s.slice(3,5);
b = s.slice(2,-4);//取得第二个(包括)到倒数第四个(不包括)的字串
c = s.slice(5); //取得第五个(包括)到最后的字符串
alert(a+"\n"+b+"\n"+c);
</script>
- match()
- search()
相同:两种方法都支持使用正则表达式作为子串
不同:
match()返回匹配的字符串
match()方法的返回值为字符串数组或null
匹配成功返回字符串数组,否则返回null
search()返回匹配的索引值
search()方法的返回值为整型变量
匹配成功返回字串的索引值,否则返回-1
<script>
var s="abfd--abc@d.comcdefg";
a=s.search(/[a-z]+@d.[a-zA-Z]{2}m/);
var str = "1dfd2dfs3df5";
var b=str.match(/\d/g);
alert(a+"\n"+b);
</script>
布尔类型
布尔类型的值只有两个:true和false
undefined和null
undefined类型的值只有一个undefined,用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在
null用于表示变量的值为空