zoukankan      html  css  js  c++  java
  • 浅谈javascript中的数据类型和引用类型

    1.概述

    javascript中有五种简单数据类型和一种复杂数据类型。

    分别是:undefind, null, number, string ,boolean ----简单数据类型

              Object------复杂数据类型

    令人迷惑的是还有以下若干种引用类型。

    分别是:Array,Date,RegExp,Function,Object

               Number,String,Boolean-----基本包装类型

               Global Object,Math------单体内置对象

    2.差异

    大家有歧义的地方肯定是number string boolean和Number String Boolean之间的差异

    光从字面意思分辨二者不太直观,说出东西来只能是理论,还很绕,我们可以做实验来分辨。

    window.onload = function () {
                var a = 100; //number类型变量
                var b = Number(100); //使用Number函数进行数据类型转换
                var c = new Number(100); //定义一个Number对象且它的值为100
                alert(typeof a + ',' + typeof b + ',' + typeof c); //number,number,object
                a.name = 'jack'; //设置属性无效
                b.name = 'mary'; //设置属性无效
                c.name = 'tom'; //name属性值为tom
                alert(a.name + ',' + b.name + ',' + c.name); //undefined,undefined,tom
                //--------------------华丽丽的分割线---------------------------------------
                var d = new String(10);
                setValue(d); //形参赋值肯定无效,d仍为10
                setName(d); //按照C语言的说法,此时d为name属性的指针。d的name为rose
                swapValue(c, d); //形参赋值还是无效,甭管形参是值还是指针.c的name还是tom
                swapName(c, d);//交换成功,c的name为rose
            };
            function setName(obj) {
                obj.name = 'rose';
            }
            function setValue(value) {
                value = 'rose';
            }
            function swapValue(val1, val2) {
                val1 = val2;
            }
            function swapName(val1, val2) {
                val1.name = val2.name;
            }
  • 相关阅读:
    克如斯卡尔 P1546
    真正的spfa
    第四课 最小生成树 要点
    关于vscode中nullptr未定义
    cmake学习笔记
    python学习笔记
    (BFS 图的遍历) 2906. kotori和迷宫
    (图论基础题) leetcode 997. Find the Town Judge
    (BFS DFS 并查集) leetcode 547. Friend Circles
    (BFS DFS 图的遍历) leetcode 841. Keys and Rooms
  • 原文地址:https://www.cnblogs.com/JhoneLee/p/3540413.html
Copyright © 2011-2022 走看看