根據(jù)訪問(wèn)方式,在ES中可以將數(shù)據(jù)分為兩種類型,值類型和引用類型。
* 值類型的數(shù)據(jù)可以被直接訪問(wèn)。
* 引用類型的數(shù)據(jù)只能被間接訪問(wèn)。

當(dāng)我們?cè)谡勚岛蛯?duì)象的時(shí)候是在談些什么呢?
一言概之,如寫程序是工作的具體實(shí)例,值就是值類型的具體實(shí)例,對(duì)象就是引用類型的具體實(shí)例。
以下是典型的0值和空白對(duì)象。
~~~
console.dir(0);
console.dir({});
~~~

在ES中,凡是對(duì)象都有其原型,在數(shù)據(jù)上的表示就是\_\_proto\_\_引用。
關(guān)于原型的概念將在后續(xù)章節(jié)講解。
# 值和對(duì)象在使用上的區(qū)別
* 值是不可變的。
* 對(duì)象是值的組合,組合是可變的。
~~~
var foo=1;
foo=10;//不是值1變成了值10,而是foo選擇的值變成了值10。
var obj={foo:1};
obj.foo=10;//對(duì)象的組合從{foo:1}變成{foo:10};
~~~
**為什么要玩這種文字游戲?**
因?yàn)槿绱四茏屛覀儗W⒂谝粋€(gè)簡(jiǎn)單的模型,而無(wú)視程序內(nèi)部繁瑣的操作。
~~~
var str='hello'
str[0]='x';
console.info(str);//hello
~~~
在ES,String類型屬于值類型,所以字符串不能被改變,所以他的“修改”方法總是返回一個(gè)新的字符串。
如concat,replace,slice……
