这个章节要来介绍 物件与纯值 的关係
之前我们介绍到
我们可以利用 .
的方式新增物件的属性以及对应的值
var family = {};family.name = '小明家';console.log(family); // {name: '小明家'}
那么如果我们今天对一个字串做相同的处理,会发生甚么事情呢?
var newStr = '字串';newStr.name = '小明家';console.log(newStr);
我们会发现不会有任何的改变喔~因为这里字串是属于 纯值,没有办法透过物件的操作方式来进行属性跟值的新增、修改、删除。
同为纯值的还有纯数字。
但是 阵列
跟 function
也都属于 物件 的一种,
var newArr = ['Arr'];console.log(typeof(newArr)); // objectnewArr.name = '小明家';console.log(newArr);
所以我们就可以知道 阵列 也是属于物件的一种资料结构。
另外 函式 呢?
function fn () { console.log('fn console');}console.log(typeof(fn));
你会发现~ㄟ?!?!怎么是 function 不是 object ,你刚刚不是说他是物件吗?!?!?
没错喔~其实function 这个类别是物件下的一个子类别,这里我们要用不同的console来进行检视才能验证这个事实喔!
function fn () { console.log('fn console');}console.dir(fn); // 使用 console.dir 进行检视
之后我们的确可以看到类似物件的内容,可以展开并且看到里面对应 property/ value。
同时也可以针对这个 function 进行属性的新增或修改喔~
但是 fn.name 是无法修改的,因为一开始在设定 function 的时候就已经设定好了。
function fn () { console.log('fn console');}fn.color = 'black';console.dir(fn); // 使用 console.dir 进行检视
这个章节到这边就是接绍了 物件与纯值 的关係,希望对大家有帮助~那就到这边噜汪汪