JavaScript数据类型介绍,内容较多,只要你认真多看,就能明白数据类型之间的区别。可直接复制到编辑器中运行。

<!DOCTYPE html>
<html lang="en">
<head>
      <meta charset="UTF-8">
      <title>Test</title>
      <style type="text/css">
      /*分区容器div的背景色设置,该div容器主要用来放置ul无序列表。*/
.div_1{
     /*该div容器宽1100px,高500px。*/
     width:1100px;
     height:500px;
     /*该容器内字体大小为网页默认字体大小的1.5倍,即16*1.5=24px。*/
     font-size:1.5em;
     /*div容器居中。*/
     margin:auto;
     /*该容器背景色,浅灰色lightgray。*/
     background-color:lightgray;
}
/*无序列表ul*/
.ul_1{
     /*decimal;该无序列表的标记是数字。*/
     list-style-type:decimal;
}
.ul_1 li{
     /*每个li距离上方10px。*/
     margin-top:10px;
}
  </style>
</head>
<body>
<div class="div_1">
<ul class="ul_1">
     <li>
     undefined类型;未被设置的值或者变量;
     该类型通常右边无等号,直接英文格式下的双引号。
     例如:var c;或连var d都没有设置过,在引用该变量d时会显示undefined;
     typeof返回显示undefined;
     </li>
     <li>
     boolean类型。判断类型,判断的结果是真true或者假false,只要改变量的值产生过判断,即为Boolean类型。
     例如两个值比较大小。var a_2=1>2。这里就是假false。产生了判断的过程。为什么1>2是假?因为1-2=-1,-1< 0。
     typeof返回显示boolean。
     </li>
     <li>
     number类型;数字类型的变量或者值。
     该类型定义的值通常是不被双引号包含的纯数值。
     例如:var b=123;typeof返回显示number。
     typeof返回显示number类型。
     需要注意的是NaN是not a number。即不是一个数字的数字类型,非数字。
     </li>
     <li>
     string类型;字符串类型的变量或者值。
     该类型定义的值或变量通常会被英文格式下的双引号""包含起来。
     例如:var a="张三";typeof返回显示string。
     typeof返回显示string。
     </li>
     <li>
     object类型;引用类型或者null类型。
     例如:var a_5=null;
     typeof返回显示object。
     </li>
</ul>
</div>
<script type="text/javascript">
     //undefined类型;undefined类型是一个没有设置值的变量或者值。typeof一个没有设置值的变量或值会返回显示undefined;
     var a_1;  

    //boolean类型。产生过判断,即为Boolean类型。该变量的值为真true或假false,即为Boolean类型。例如:var a_2=1>2。值为false。为boolean类型。
     var a_2=1>2;

    //number类型;number类型是一个数字类型的变量或者值。他的特点是不被双引号包含的数字,例如100。typeof一个数字类型的变量或值,会返回显示number;
     var a_3=123;

    //string类型;string类型是一个字符串类型的变量或者值,他的特点是string类型的变量或者值都被英文格式双引号""包含起来。typeof一个被""包含的变量或者值,会返回显示string;
     var a_4="张三";

    //object类型。object类型是对象类型的变量或者值。null是object类型。
     var a_5=null;

    //number类型;number类型是一个数值类型。但是NaN是一个特殊的数值类型。不是一个数字的数值类型。
     //NaN,这是一个特殊类型的数字常量,非数字。如果返回的是NaN代表,你的程序在计算的时候,出现了问题。
     var a_6=NaN;

//前面从未定义过a_0,这里引用a_0,typeof a_0会显示undefined类型。因为该变量未被设置过;
document.write(typeof a_0+"<br />");

//undefined类型;这里引用a_1,typeof a_1会显示undefined类型。因为虽然设置过a_1这个变量,但是未给a_1这个变量赋过值。
document.write(typeof a_1+"<br />");
document.write(typeof a_2+"<br />");//boolean类型;
document.write(typeof a_3+"<br />");//number类型;
document.write(typeof a_4+"<br />");//string类型;
document.write(typeof a_5+"<br />");//object类型;
document.write(typeof a_6+"<br />");//number类型;

//typeof a_1;直接使用typeof是输出不了的,因为typeof是一个值,但是显示缺乏一个输出的手段。使用document.write()或alert()才能够将typeof的值显示出来。
//在使用document.write()输出typeof类型的时候,每一个需要检测的值之前都需要使用typeof,且每个值之间使用逗号,分开。
//----------------------------------------------------------------------
//null类型与undefined类型的区别。
//null代表,表示一个变量,被赋予了一个空值。是object类型。给一个值赋值null,代表将这个变量变成object类型。
//undefined类型代表,表示一个变量,还没有被赋值,或者这个变量还没有被声明。
document.write("<hr />");
document.write("Undefined类型:<br />");
var aa_1;
document.write("定义了一个var a;没有给设置值。返回值:");
document.write(typeof aa_1+"<br />");
document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;直接引用aa_2,但是没有定义,返回值:");
document.write(typeof aa_2+"<br /><hr />");
document.write("总结:Undefined类型的数据,①定义了变量名但是没有赋值会显示为Undefined;②没有定义变量名,就引用该变量,会显示Undefined。");
document.write("<hr />");

document.write("<hr />");
document.write("Boolean类型数据:<br />");
document.write("Boolean类型数据只有真true假false两种情况:<br />");
document.write("Boolean类型数据ture与false的判断:<br />");
         var a_1=Boolean("");            //为空字符串时        false
         var a_2=Boolean("张三");          //为非空字符串时       true
         var a_3=Boolean(10);            //为非0数字时        true
         var a_4=Boolean(0);             //为0数字时             false
         var a_5=Boolean(-10);           //为非0数字时        true
         var a_6=Boolean(null);          //为空值时          false
         var a_7=Boolean(undefined);     //为无值时          false
         var a_8=Boolean(new Object());  //为object对象时    true
         var a_9=Boolean();              //等同于null       false

        document.write(a_1+"<br />");
         document.write(a_2+"<br />");
         document.write(a_3+"<br />");
         document.write(a_4+"<br />");
         document.write(a_5+"<br />");
         document.write(a_6+"<br />");
         document.write(a_7+"<br />");
         document.write(a_8+"<br />");
         document.write(a_9+"<br />");
         document.write("<hr />");
         document.write("总结:如果Boolean类型的值,有值,且不为0,不为空值,不为空时,就是实实在在有的时候。为true,没有的时候为false。");
         document.write("<hr />");

                document.write("Number类型:<br />");
         document.write("Number类型有四种情况:<br />");
         document.write("①:整数;例如:10;22<br />");
         document.write("②:浮点数,即小数;例如:10.5;15.3;<br />");
         document.write("③:常量;这里先不解释<br />");
         document.write("④:特殊值;NaN,即非数字的数字类型。一般出现于运算出问题的程序的返回值。<br />");
        
         var cc_1=10.00;
         var cc_2=15.55;
         var cc_3=12e3;//这里的e,e后面的数字指,12后面接几个0.这个就是12后面3个0。12000;
         var cc_4=12e-4;//这个的e-,e-后面的数字指,小数点后几个0.这个就是小数点后面4个0。但是需要包含12,所以是小数点后2个0。是0.0012;
         var cc_5=NaN;//这个数字类型的非数字直接显示为NaN。

        document.write(cc_1+"<br />");
         document.write(cc_2+"<br />");
         document.write(cc_3+"<br />");
         document.write(cc_4+"<br />");
         document.write(cc_5+"<br />");
         document.write("<hr />");
         document.write('总结:不被英文格式下的双引号""包含。的数值。');
         document.write("<hr />");
         document.write("<hr />");
document.write("Null与Undefined的区别。,<br />");
var b_1=null;
var b_2;
document.write(typeof b_1+"<br />");
document.write(typeof b_2+"<br />");
document.write("<hr />");
document.write("<hr />");

        document.write("string类型:<br />");
         document.write("Number类型有两种情况:<br />");
         document.write('①:空字符串;例如:""<br />');
         document.write('②:非空字符串;例如:"1","小明";<br />');
        
         var dd_1="";            //空字符串
         var dd_2="15.55";       //即使是数值被英文格式下的双引号包含,也是字符串类型,不是number类型
         var dd_3="xiaoming";    //字符串类型
         var dd_4="小明";          //字符串类型

        document.write(dd_1+"<br />");
         document.write(dd_2+"<br />");
         document.write(dd_3+"<br />");
         document.write(dd_4+"<br />");
         document.write("若是想要在字符串中输入双引号,需要将双引号部分放入单引号内输出。<hr />");
         document.write("总结:凡是被英文格式下双引号或单引号包含的,都是字符串格式。<hr />");

                document.write("Object类型:<br />");
         document.write("Object类型是对象类型。<br />");
         document.write("Number类型包含很多种数据类型:<br />");
         document.write("Object、Function、String、Number、Boolean、Array、Regexp、Date、Globel、Math、Error...<br />");
         document.write("他们都是对象<br />")

        document.write("例如:创建一个Object对象ee<br />");

        ee=new Object();
         ee.namea="张三";
         ee.age=20;

        document.write("输出这个Object对象:<br />");
         document.write(ee.namea+"的年龄是:"+ee.age);
         document.write("使用typeof返回这个ee的类型:<br />");
         document.write(typeof ee);
         document.write("<hr />");
</script>
</script>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/kaotimo/p/12295583.html