js原始值也就是上面说的原始类型(undefined、null、字符串、数字、布尔值),它们都是不可变的,比如说修改一个数字本身就是说不通的,但是字符串看起来没那么明显,因为字符串是字符组成的数组,通过修改数组达到修改字符串,但是在js中禁止这样,虽然看上去修改了字符串但是其实返回的是一个新的字符串值,比如: var s = 'hello'; s.toUpperCase(); //返回'HELLO',但是并没有改变s的值 alert(s); //返回 hello; var a=1; //这行语句中包含了两个量:一个是a,他叫变量,这个大多数人都知道;一个是1,他叫数值型常量,这个大多数人都会忽略,以为一个数字、字符串、布尔值跟常量变量扯不上关系。不要以为1不算“量”,1就是值恒为1的常量,2就是值恒为2的常量... var a=false; //同上,a是布尔型变量,false是布尔型常量,他的值不能被改变,false永远代表false; var a='abc'; //同理,'abc'叫字符型常量,或者叫字符串常量。还记得经典的JS报错“未结束的字符串常量”么?意思就是没找到到一个字符串常量的结束符:引号。 //综上,所有为固定值永恒不变的量就是常量,也就是不可变的量。 //其他很多语言可以用const关键字定义一个自己命名的常量,JS中没有用const去定义一个常量的功能,可以定义一个变量当“常量”用,自己别改就行。
我问的就是javascript啊,没有哪里写了java啊。
我问的就是javascript啊,没有哪里写了java啊。immutable 至少不是javascript的
变量 变量 变量想问一下 那个类型不能拥有方法的??
是null吗?
var s = 'hello';
s.toUpperCase(); //返回'HELLO',但是并没有改变s的值
alert(s); //返回 hello;
var a=1;
//这行语句中包含了两个量:一个是a,他叫变量,这个大多数人都知道;一个是1,他叫数值型常量,这个大多数人都会忽略,以为一个数字、字符串、布尔值跟常量变量扯不上关系。不要以为1不算“量”,1就是值恒为1的常量,2就是值恒为2的常量...
var a=false;
//同上,a是布尔型变量,false是布尔型常量,他的值不能被改变,false永远代表false;
var a='abc';
//同理,'abc'叫字符型常量,或者叫字符串常量。还记得经典的JS报错“未结束的字符串常量”么?意思就是没找到到一个字符串常量的结束符:引号。
//综上,所有为固定值永恒不变的量就是常量,也就是不可变的量。
//其他很多语言可以用const关键字定义一个自己命名的常量,JS中没有用const去定义一个常量的功能,可以定义一个变量当“常量”用,自己别改就行。