JavaScript中的基本数据类型

       JavaScript是弱类型脚本语言,声明变量是无须指定变量的数据类型。JavaScript变量的数据类型是解释时动态决定的,但是JavaScript的值保存在内存中时,也是有数据类型的。JavaScript的基本数据类型有以下:

数值类型: 包含整型和浮点型
布尔类型:只有true false 两个值
字符串类型:字符串必须使用单引号或者双引号括起来
Undefined 类型:表示已经创建但是没有赋初值的变量

Null:表示某个变量的值为空

1、数值类型:

 数值类型包括整型变量和浮点型变量。

               <script type="text/javascript">
			var a,b;
			a = 5E2;
			b = 1.23e-3;
			alert(a+ "\n" +b);
		</script>

科学记数法中的E为间隔符号,E不区分大小写。

注意:数值直接量不要以0开头,因为JavaScript不仅仅支持十进制数,还支持其他进制数。八进制数以0开头,十六进制数以0x开头。十六进制数是非常重要的,因为在HTML中的许多代码都需要十六进制数。 

当数值变量超出其表数范围时将会出现两个特殊值:Infinity(正无穷大)和-Infinity(负无穷大),前者表示数值大于数值类型的最大值,后者表示数值小于数值类型的最小值。

                <script type="text/javascript">
			var x = 1.2345678923456767;
			x = x + 1e999;
			alert(x);
		</script>

注意:

JavaScript中的算数运算符允许除数为0(被除数与除数可以同时为0,得到的结果为NaN,正数除0的结果为正无穷大,负数除0的结果是负无穷大。

字符串类型

JavaScript中没有字符类型,或者说字符类型和字符串类型完全相同,定义如下:

var a  = ‘ a ’;

这种代码定义的a依然是字符串类型的变量,没有字符类型变量。

注意:在JavaScript中比较两个字符串的字符序列是否相等使用==即可,无须使用equal()方法。

JavaScript以内建类String表示字符串,String类中包含了一系列的方法操作字符串,String类有如下基本方法和属性操作字符串:

String():类似于面向对象语言的构造器,使用该方法可以构建一个字符串。

charAt():获取字符串特定索引处的字符

charCodeAt():返回字符串特定索引处的字符所对应的Unicode值。

length():直接返回字符串的长度,JavaScript中的中文字符算一个长度。

toUpperCase():将字符串所有的字母转换为大写字母

toLowerCase():将字符串的所有的字母转换为小写字母。

fromCharCode():静态方法,直接通过String类调用该方法,将一系列 UniCode值转换为字符串。

Indexof():返回字符串中特定字符串第一次出现的位置。

lastIndexOf():返回字符串中特定字符串最后一次出现的位置。

subString():返回某个字符串的子串

slice():返回字符串的某个子串,功能比sunString功能强大,可以支持负数参数

match():使用正则表达式搜索目标子字符串。

search():使用正则表达式搜索目标子字符串。

Concat():用于将多个字符串拼接成一个字符串。

split():将某个字符串分割成多个字符串,可以指定分割符

replace():将字符串的某个子串以特定的字符串代替。(只匹配第一个子串)


部分方法代码及结果如下:

            <script type="text/javascript">
		
		var a = 'abc中国';
		var b = a.length; 
		var c = String.fromCharCode(97,98,99);
		console.log(b);                                           //5
		console.log(c);                                           //abc
		var d = "abcdefghijklmn000m000";
		var e = d.indexOf('e');
		console.log(e);                                           //4
		var f = d.indexOf(e,6);
		console.log(f);                                           //-1
		var g = d.lastIndexOf('m');
		console.log(g);                                           //17
		var h = d.slice(2,4);
		console.log(h);                                           //cd
		var i = '[email protected]';
		var j = i.search(/[a-z]+@d.[a-zA-Z]{2}m/);
		console.log(j);                                            //6
		var k = '1dfd2dfs3df5';
		var l = k.match(/\d/g);
		console.log(l);                                           //1,2,3,5
           </script>
undefined和null

undefined类型的值只有一个undefined,该值用来表示某个变量不存在,或者没有为其分配值,也不用表示对象的属性不存在。null用于表示变量的值为空。如果不进行精确比较两者的话,很多时候undefinednull本身就相等,如果进行精确区分nullundefined,应该考虑使用精确等于符(===)。



猜你喜欢

转载自blog.csdn.net/ibliplus/article/details/81048191