zoukankan      html  css  js  c++  java
  • 基本数据类型和引用类型

    javascript的变量是松散类型的,只是在特定的时间用于保存特定值的一个名字。变量的值及其数据类型可以在脚本的生命周期内改变。
    数据类型包括:1.基本类型值,简单的数据段;2.引用类型值,由多个值构成的对象。

    1.基本类型值

    Undefined,Null,Boolean,Number,String。这五种变量是按值访问的,因为可以操作保存在变量中的实际的值。

    2.引用类型值

    是保存在内存中的对象,javascript不允许直接访问内存中的位置,也就是不能直接操作对象的内存空间。在操作对象的时候,实际上是在操作对象的引用。

    3.动态的属性

    对于引用类型的值,我们可以为其添加或删除其属性和方法,但是不能给基本类型的值添加属性,尽管不会导致任何错误。

    4.复制变量值

    基本类型:从一个变量向拎一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上。新变量只是一个副本,这两个变量可以参与任何操作而不会相互影响。
    引用类型:将存储在变量对象中的值复制一份放到为新变量分配的存储空间中,这个值的副本是一个指针,这个指针指向存储在堆中的一个对象,这两个变量实际上将引用同一个对象。

    5.传递参数

    所有函数的参数都是按值传递的,基本类型值的传递和基本类型变量的复制一样,而引用类型值的传递和引用类型变量的复制一样。
    访问变量有按值访问和按引用访问两种方式,但是参数只能按值传递。
    基本类型:被传递的值被复制给一个局部变量;
    引用类型:这个值在内存中的地址复制给一个局部变量,所以局部变量的变化会反映在函数的外部。在函数内部修改了参数的值,但原始的引用仍保持不变,实际上在函数内部重写了obj时,这个变量引用就是一个局部对象了,所以不影响外部 的obj,所以这是按值传递的。

    6.检测类型

    基本数据类型检测:typeof操作符是检测最佳的工具,可以确定一个变量是字符串、数值、布尔值还是undefined。
    字符串:string;
    数值:number;
    布尔值:boolean;
    未赋值:undefined;
    空值:object;
    对象:object;
    函数:function;
    正则表达式:function;在IE和Firefox中,返回object;
    引用类型检测:instanceof操作符,如果变量是给定引用类型的实例(根据原型链来识别),那么instanceof操作符就会返回true。
    用法:变量 instanceof 引用类型
    根据规定,所有引用类型的值都是object的实例,基本类型不是对象。
     
     
  • 相关阅读:
    BZOJ2005 能量汇集 【gcd求和】
    莫比乌斯反演
    匈牙利算法 求二分图最大匹配
    HDU3507 print article【斜率优化dp】
    tyvj1305 最大子序和 【单调队列优化dp】
    NOIP2017 列队 题解报告【56行线段树】
    NOIP2017 宝藏 题解报告【状压dp】
    NOIP2017 逛公园 题解报告 【最短路 + 拓扑序 + dp】
    好的软件测试人员简历是什么样子的?
    淘宝网-接口测试白皮书V0.1
  • 原文地址:https://www.cnblogs.com/Fawzia/p/6435235.html
Copyright © 2011-2022 走看看