zoukankan      html  css  js  c++  java
  • 252 数据类型的分类、判断,undefined与null的区别,null的使用,严格区别变量类型与数据类型

    判断

    • 基本(值)类型
      • Number ----- 任意数值 -------- typeof 【typeof: 返回字符串; instanceof、===:返回布尔值。】
      • String ----- 任意字符串 ------ typeof
      • Boolean ---- true/false ----- typeof
      • undefined --- undefined ----- typeof/=== 【因为undefined 、null类型只有一个值,所以可以用 === 判断。】
      • null -------- null ---------- ===
    • 对象(引用)类型
      • Object ----- typeof/instanceof
      • Array ------ instanceof
      • Function ---- typeof



    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>01_数据类型</title>
    </head>
    
    <body>
        <!--
    1. 分类
      * 基本(值)类型
        * String: 任意字符串
        * Number: 任意的数字
        * boolean: true/false
        * undefined: undefined
        * null: null
    
      * 对象(引用)类型
        * Object: 任意对象
        * Function: 一种特别的对象(可以执行)
        * Array: 一种特别的对象(数值下标, 内部数据是有序的)
    
    2. 判断
      * typeof: 返回字符串
        * 可以判断: undefined/ 数值 / 字符串 / 布尔值 / function
        * 不能判断: null与object、object与array
    
      * instanceof:
        * 判断对象的具体类型
      * ===
        * 可以判断: undefined, null
    -->
    
        <script type="text/javascript">
            //1. 基本
            // typeof返回数据类型的字符串表达
            var a;
            // undefined 'undefined' true true
            console.log(a, typeof a, typeof a === 'undefined', a === undefined)
            console.log(undefined === 'undefined'); // false
            a = 4
            console.log(typeof a === 'number'); // true
            a = 'atguigu'
            console.log(typeof a === 'string'); // true
            a = true
            console.log(typeof a === 'boolean'); // true
            a = null
            console.log(typeof a, a === null); // 'object' true
    
            console.log('-----------------'); // 
    
            //2. 对象
            var b1 = {
                b2: [1, 'abc', console.log],
                b3: function() {
                    console.log('b3')
                    return function() {
                        return 'xfzhang'
                    }
                }
            }
    
            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, '-------'); // 'object' 【不是 array】
            console.log(typeof b1.b3 === 'function'); // true
            console.log(typeof b1.b2[2] === 'function'); // true
            b1.b2[2](4); // 4
            console.log(b1.b3()()); // xfzhang
    
            /*var obj = {
              name: 'Tom',
              age: 12
            }
            function test () {
              var a = 3
            }
            var arr = [3, 'abc']
            arr[1]*/
        </script>
    </body>
    
    </html>
    

    undefined与null的区别,null的使用,严格区别变量类型与数据类型

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>01_相关问题</title>
    </head>
    
    <body>
        <!--
    1. undefined与null的区别?
      * undefined代表定义未赋值
      * nulll定义并赋值了, 只是值为null
    
    2. 什么时候给变量赋值为null呢?
      * 初始赋值, 表明将要赋值为对象
      * 结束前, 让对象成为垃圾对象(被垃圾回收器回收)
      
    3. 严格区别变量类型与数据类型?
      * 数据的类型
        * 基本类型
        * 对象类型
      * 变量的类型(变量内存值的类型)
        * 基本类型: 保存就是基本类型的数据
        * 引用类型: 保存的是地址值
    -->
    
        <script type="text/javascript">
            // 实例: 实例对象
            // 类型: 类型对象
            function Person(name, age) { // 构造函数  类型
                this.name = name
                this.age = age
            }
            var p = new Person('tom', 12) // 根据类型创建的实例对象
    
            // Person('jack', 12)
    
            // 1. undefined与null的区别?
            var a;
            console.log(a); // undefined
            a = null;
            console.log(a); // null
    
            //起始
            var b = null; // 初始赋值为null, 表明将要赋值为对象
            //确定对象就赋值
            b = ['atguigu', 12];
            //最后
            b = null; // 让b指向的对象成为垃圾对象(被垃圾回收器回收)
            // b = 2
    
            var c = function() {
    
            };
    
            console.log(typeof c); // 'function'
        </script>
    </body>
    
    </html>
    
  • 相关阅读:
    利用Powershell和ceye.io实现Windows账户密码回传
    Local Response Normalization作用——对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力
    python 读取二进制文件 转为16进制输出
    滴滴持续扩招私车 倒逼官方就范
    滴滴专车——司机提现流程
    滴滴专车司机升降级标准流程
    北京Uber优步司机奖励政策(9月21日~9月27日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(9月12日~9月18日)
    北京Uber优步司机奖励政策(9月14日~9月20日)
    天津市人民优步Uber司机奖励政策(9月14日~9月20日)
  • 原文地址:https://www.cnblogs.com/jianjie/p/12235457.html
Copyright © 2011-2022 走看看