JS之数据类型v(** v**)v个人笔记

<body>
<!--
单词记忆 argument:实参 assignment:赋值 instance:实例
1.JS中的数据类型分为以下类型
*值类型(基本类型)
   *String:可以为任何字符串
   *Number:可以为任何数字
   *booleanfalse/true
   *undefined:undefined 代表定义了但没赋值
   *nullnull 代表定义了也赋值,只是值为null
*引用类型(对象类型)
   *Object:任意对象(对象不能执行)
   *Function:是一种特别的对象(右边加括号,可以执行)
   *Array:也是一种特别的对象(数值下标,其中的数据是有序的)
2.判断
   *typeof:返回的是数据类型的字符串,可以判断undefined,number,string,boolean,还可以判断function,
   *不能判断null与Object,Object和Array
   *instanceof:用来判断对象的具体类型
   *===:可以判断undefined,null,不能判断数值类型
-->

<script type="javascript">
  //1*基本类型
    var a
    console.log(a,typeof a,typeof a==='undefined',a===undefined)//打印出来的是undefined而第二个是"undefined",true,true
    var a=3
    console.log(typeof a==='number')//注意这里number要加引号表示一个number类型,返回的是true
    var a='jxb'
    console.log(typeof a==='string')//true
    var a=true
    console.log(typeof a==='boolean')//true
    var a=true
    console.log(typeof a==='boolean')//Object
    var a=null
    console.log(typeof a)//Object
    var a=null
    console.log(a===null)//true
  //2对象类型
    var b1={
      b2:['a',11,console.log],
      b3:function() {
        console.log('b3');
        return function() {//返回值居然可以是一个function函数(千万不能说是方法,以前老是说成方法了)
          return 'jxb';
        }
      }
    }

    console.log(typeof b1.b2)//'Object'所以不能判断Object和Array
    console.log(b1 instanceof Object,b1 instanceof Array)
  /*翻译xx是不是yy类型的实例,那么yy是一个构造函数(new Object()),true,false*/
    console.log(b1.b2 instanceof Array,b1.b3 instanceof Object)//true,true
    console.log(b1.b2 instanceof Object,b1.b2 instanceof Function)//true,true 注意这里Function开头必须是大写
    console.log(typeof b1.b3==='function')//注意加了引号都是小写开头,true

    console.log(b1.b3,typeof b1.b3)
    /*
    ƒ () {
        console.log('b3');
      } "function"
    */

    console.log(typeof b1.b2==='function')//其中typeof返回的是"function"字符串,true
    b1.b2[2](4)//打印出来居然是4,说明括号右边是一个函数,函数是什么?函数的右边可以加括号执行调用,其中 b1.b2[2]是一个表达式
    console.log(b1.b3()());  //返回的是b3,jxb,到前面一个括号结束表示return后面函数,再加一个括号得到的是jxb

    var obj={//对象是用来存数据的,这个存的数据不能执行
      name:'Tom',
      age:12
    }
    function fn(){//而函数是用来存代码的,代码可以执行

    }
    //小知识点:undefined和null
    var a
    console.log(a)
    a=null
    console.log(a)//返回的是null

</script>
</body>

猜你喜欢

转载自www.cnblogs.com/junxiaobai/p/10328228.html
V