4.1基本类型和引用类型的值

来源:互联网 发布:淘宝seo从入门到精通 编辑:程序博客网 时间:2024/06/05 11:16
  1. 基本类型值指的是简单的数据段。
    Undefined、Null、Boolean、Number、String这五种基本数据类型是按值访问的,因为可以操作保存在变量中的实际值。
  2. 引用类型值指的是由多个值构成的对象。
    引用类型的值是保存在内存中的对象。js不允许直接访问内存中的位置,就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象,引用类型的值是按引用访问的。
var obj1=new Object();var obj2=obj1;obj1.name="hello";alert(obj2.name);//"hello"
  • 传递参数
    ECMAScript中所有的函数的参数都是按值传递的。访问变量有按值和按引用两种方式,而参数只能按值传递。
function setName(obj){    obj.name="hello";    obj=new.Object();    obj.name="world";}var person=new Object();setName(person);alert(person.name);//"hello"

如果person是按引用传递的,那么person就会自动被修改为指向其name属性值为“world”的新对象,但是最后person.name的值仍然为“hello”说明即使在函数内部修改了参数的值,但原始的引用仍然保持未变。

  • 检测类型
    检测一个变量是不是基本数据类型用typeof操作符。它是确定一个变量式字符串、数值、布尔值,还是undefined的工具。如果变量的值是一个对象或者null,则会返回object。
    但在检测引用类型的值时,我们想知道他是什么类型的对象。可以用instanceof操作符:
alert(person instanceof Array);//false

如果使用instanceof检测基本类型的值,则始终会返回false,因为基本类型不是对象。

原创粉丝点击