二十世纪七十年代 幼苗
共回答了20个问题采纳率:90% 举报
1年前 追问
Numbers, booleans, null, and undefined are immutable
这个很难理解么?是Numbers不是Number这个function或者对象,意思是所有的数字、布尔值、null,和undefined这两个值是不可变的。var a='abc';,很正常的,这里操作(读取)了一个字符串'abc',但不能'abc'='cde';,所以对字符串的操作只能是把字符串的值赋值给某个变量,而不能把某个其他值赋值给一个字符串常量。
英文资料有点绕,因为这里的String指的是所有的字符串常量,而非js里面的String对象。
好吧,说个关键点吧:所有类型的值都是常量,不可变的。不用在乎类型是字符串、数值、数组、对象等等。例子就是:
var a=1,b='bb',c=false,d=[1,2,3],e={name:'wxsblog'};//没问题,常量可以读取,变量可以被赋值
var 1=2,'bb'='cc',false=true,[1,2,3]=[4,5],{name:'wxsblog'}={name:'风雪博客'}; //正如你所知道的,肯定不行。虽然很奇怪,但这就是清清楚楚地告诉你:常量只能被读取,不能用来放在(单个)等号左边重新赋值,也就是修改。
所以,现在你应该知道答案了吧:不管任何类型的数据,只要这个量是具体的某个值,也就是常量,他就是不可变的。只有变量才可变,不然为什么叫变量。
如果你熟悉JS的话,应该不会问这种问题,因为你都理解了;如果你是初学的话,建议别迷信权威非要看英文资料,随便百度个JS教程,看看中文的就好了,就怕出现我刚才说的英文里比较绕的问题。
1年前1个回答
1年前1个回答
1年前2个回答
1年前1个回答
你能帮帮他们吗