JavaScript Quiz系列题集01

问题

javascript的数据范例分为两类: 原始范例 和对象范例(又基础范例和援用范例)

原始范例包含:String, Boolean, Number, null, undefined
nullundefined是两个特别的原始值,代表了各自特别范例的唯一成员)

对象是属性和要领的鸠合,每一个属性都由“名/值对”组成。全局对象是比较特别的对象。
对象范例包含:一般对象(“定名值”的无序鸠合),特别对象-数组(带编号值的有序鸠合),函数。

基础数据范例是按值接见的,因为能够操纵保留在变量中的现实值。
援用范例的值是保留在内存中的对象。JS不允许直接接见内存中的位置,也就是说不能直接操纵对象的内存空间。在操纵对象时,现实上是在操纵对象的援用而不是现实的对象,为此,运用范例的值是根据援用接见的。

var a = {"x": 1};    //对象是援用范例,这里把对象{"x": 1}的援用地点赋值给变量a
var b = a;           //把a所援用的对象地点赋值给b,此时a和b指向同一个对象
a.x = 2;             //把a所指向对象的属性x设置为2,此时该对象为{"x": 2}
b.x;                 //因为a和b指向同一个对象,所以b.x = a.x = 2

a = {"x":3};        //这里从新对a举行赋值,把一个新对象{"x": 3}的援用地点赋值给变量a,
                    //此时a指向这个新对象{"x": 3},而b依然指向本来的对象{"x": 2}
console.log(b.x);   //这里输出2就水到渠成了
    原文作者:King
    原文地址: https://segmentfault.com/a/1190000000582493
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞