Brains - 灵感乌托邦

『笔记』JavaScript进阶学习笔记 0

数据类型

1、分类

基本(值)类型

{alert type="info"}

对象(引用)类型

{alert type="info"}

2、类型的判断

{alert type="success"}

<script>
        // 1、基本数据类型
        var a;
        // typeof返回数据类型的字符串表达
        console.log(a, typeof a, typeof a==="undefined", a===undefined);//undefined "undefined" true true
        console.log(undefined === 'undefined'); //false
        a = 3;
        console.log(typeof a ==='number');//true
        a = 'abc';
        console.log(typeof a ==='string');//true
        a = true;
        console.log(typeof a === 'boolean');//true
        a= null;
        console.log(typeof a, a===null); //obiect true
        console.log('--------------------')
        // 2、对象类型 
        console.log('对象类型')
        var b1 ={
            b2:[1,'abc',console.log],
            b3:function(){
                console.log('b3');
                return function(){
                    return 'hello';
                };
            }
        };
        // instanceof判断a(实例对象)是不是b(构造函数)类型的实例
        console.log(b1 instanceof Object, b1 instanceof Array); //true  false
        console.log(b1.b2 instanceof Array, b1.b2 instanceof Object);  //true true
        console.log(b1.b3 instanceof Function, b1.b3 instanceof Object); //true true
        console.log(typeof b1.b2,'flag'); //'object'  b1.b2为array(数组)类型
        console.log(typeof b1.b3 === 'function'); //true
        console.log(b1.b2[2] instanceof Function, typeof b1.b2[2] === 'function'); //true true
        b1.b2[2]('你好'); //'你好'
        console.log(b1.b3()()); // hello
        b1.b3(); //可以执行
        /*var obj = {
            name: 'tom',
            age:12
        }; 
        function test() {
            var a = 3;
        };
        var arr = [3, "abc"];
        console.log(arr[1]);*/
        
        // 实例:实例对象
        // 类型:类型对象
        // 函数是一种特殊的对象(可执行)
        function Person(name,age){ //构造函数   类型
            this.name = name;
            this.age = age;
        }
        var p = new Person('tom',12); //根据类型创建的实例对象
        // Person('jack',12);
    </script>

1、undefined与null的区别?

2、什么时候给变量赋值为null?

3、严格区别变量类型与数据类型?

(1)数据的类型

<script>
        var a;
        console.log(a); //undefined,未赋值
        a = null;
        console.log(a); //null,赋值为null

        var b = null; //初始赋值为null,表面将要赋值为对象
        // 确定对象就可以赋值
        b = ['hello',12];
        // 最后,为了释放对象内容
        b = null; //让b指向的对象成为垃圾对象(被垃圾回收器回收:垃圾回收)
        // b = 2;  //又重新赋值了,没有意义

        // c保存的是地址值,即为引用类型
        var c = function(){
        };
        console.log(typeof c) //'function'
</script>

数据、变量、内存

定义

1、什么是数据

2、什么是内存

4、内存、数据、变量三者之间的关系

<script>
  var age = 18;
  console.log(age)

  var obj = {name:'tom'};
  console.log(obj.name);
  
  function fn(){
    var obj = {name:'tom'};
  };
  
  var a = 3;
  var b = a + 2;
</script>

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »