数据类型
数据类型分类
对于JavaScript而言,数据类型具体分为两类:一个是基本数据类型,一个是引用数据类型。其中基本数据类型包括了:Boolean(布尔型),string(字符型),number(数值型),null(空型),undefined(未定义),引用数据类型则只有object(对象)
(学到这里咋们又遇到了咋们前面讲的对象了,害,多大点事啊,学好js,还怕没对象?)
基本数据类型
1.布尔型
布尔型只有true和flase两个数值,表示事物的“真”和“假”。
<script>
var flage1=true;
var flage2=false;
</script>
注:因为JavaScript严格区分大小写,所以只有true和flase全部为小写时才算是布尔类型。
2.数值型
数值型是最基本的数据类型,与其他语言不同的是,**JavaScript中的数值型并不区分整数和浮点数,所有的数字都是数值型。**在使用的时候可以添加符号"-"来表示负数。通常正数前面的“+”可以省略。
<script>
var oct=032; //八进制数表示的26
var dec=26; //十进制数26
var hex=0x1a; //十六进制数表示的26
var fnum1=7.26; //标准格式
var fnum2=-6.24;//标准格式
var fnum3=3.14E6;//科学计数法格式3.14*10的6次方
var fnum4=8.96E-3;//科学计数法格式表示8.96*10的负3次方
</script>
注:JavaScript里面还有一个非数值,那就是NaN,他是一个全局变量的属性。当两个NaN进行比较时,结果不一定为真(true),这是因为被操作的数值可能会是布尔型,字符型,空型,未定义型,和对象类型中的任意一种类型。
3.字符型
字符型(string)是由Unicode字符,数字等组成的字符序列,这个字符序列我们一般将其统称为字符串。它是用来表示文本的数据类型。程序中的字符型数据包含在单引号(‘ ’)或双引号(“ ”)中。具体示例如下:
<script>
// 如下为字符型的代码:
var slogan='knoeledge'; //单引号,存放一个单词
var str="the sky is blue"; //双引号,存放一个句子
var color="'red''bule'"; //单引号中包含双引号
var food='"pizza""bread"'; //双引号中包含单引号
var num='',total=""; //空字符串
</script>
脚下留心:做到这一步各位观众老爷可能就会好奇了,如果我使用单引号时或者双引号时,字符串本身包含的引号怎么办呢?我还能照常将这个完整的字符串及他包含的引号正常输出吗?话不多说,咋们往下看:
<script>
//照常输出单双引号
var say1='I\'m tanghui';
var say2='\"tang\"';
console.log(say1);
console.log(say2);
</script>
4.空型(null)
只有一个特殊的null值。用于表示一个不存在的或者无效的对象或地址。且由于JavaScript中大小写敏感,因此变量的值只有在是小写的时候才表示空值。
5.未定义型
未定义型也只有一个特殊的undefined值,用于声明的变量还未被初始化时,变量的值默认为undefined。与null不同的是,undefined表示没有为变量设置值,而null则表示变量(对象或地址)不存在或无效。需要注意的是,null和undefined与空字符串和0都不相等。
数据类型检测
学习了这么多的数据类型,观众老爷肯定好奇是不是把这些掌握了,就能吃遍js了?别急,咋们这些只是基础,起初的我觉得只要掌握好这些,后续的开展应该不成问题,嘿嘿嘿,其实这里面还有许多东西,需要观众老爷们去开发。且听我细细讲来—数据的类型检测。
1.type of 操作符
这个东西呀相当于前面的输出语句,都是固定的格式,观众老爷们只需要将自己想写的数据写入,调用这个语句就能知道咋们的数据时什么类型了。话不多说,直接来栗子:
<script type="text/javascript">
//数据的类型检测
var num1=12,num2='24';sum=0;
sum=num1+num2;
console.log(sum);
console.log(typeof num1);
console.log(typeof num2);
console.log(typeof sum);
</script>
2.对象原型的扩展函数
因为JavaScript中一切皆对象,因此也可以利用对象原型的扩展函数Object.prototype.toString.call( )更加精确的区分数据类型。
<script type="text/javascript">
//对象原型的扩展函数
var data=null; //待判断的数据类型
var type='NULL'; //数据类型
//检测数据的表达式
Object.prototype.toString.call(data)=='[object'+type+']';
</script>
建议:本人还是建议各位观众老爷使用第一种的方法进行检验,毕竟这玩意要简单很多啊,咋们编程人员能涂方便就绝不对走一步。
本人小结:
阿辉从今天开始就算是正式放假了哦,不知道各位观众老爷们怎么样了啊。这两天本人会持续更新博客,将几天前欠的的内容都补回来,给各位观众老爷一个"五一惊喜"。