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;
            }
  • 相关阅读:
    矩阵分析及其在线性代数中的应用(3-4)
    矩阵分析及其在线性代数中的应用(1-2)
    信息检索的评价标准
    Converting Between Image Classes (matlab 中图像类之间的转换)
    Ubuntu 14.04,root the Nexus 7 (2013).
    ACM进阶计划
    matlab R2012a in ubuntu12.04
    人,绩效和职业道德
    运行及总结
    仓库管理 测试计划
  • 原文地址:https://www.cnblogs.com/JhoneLee/p/3540413.html
Copyright © 2011-2022 走看看