javascript 变量赋值,怎么看出是将字符串直接赋值给变量 ,还是字符串对象将引用指向变量?
在下面的例子中,我们使用字符串对象的长度属性来计算字符串中的字符数目。<scripttype="text/javascript">vartxt="HelloWorld!"...
在下面的例子中,我们使用字符串对象的长度属性来计算字符串中的字符数目。
<script type="text/javascript">
var txt="Hello World!"
document.write(txt.length)
</script>
上面的代码输出为:
12
上面这个例子中,怎么看出字符串“Hello World!"是个基本类型字符串还是一个字符串对象,是将字符串“Hello World!"赋值给变量txt呢?还是将由变量txt 引用字符串“Hello World!"呢?现在让其搞混了。 展开
<script type="text/javascript">
var txt="Hello World!"
document.write(txt.length)
</script>
上面的代码输出为:
12
上面这个例子中,怎么看出字符串“Hello World!"是个基本类型字符串还是一个字符串对象,是将字符串“Hello World!"赋值给变量txt呢?还是将由变量txt 引用字符串“Hello World!"呢?现在让其搞混了。 展开
3个回答
展开全部
javascript 几乎没有数据类型的概念,一共5种,undefined、number、string、null、布尔
我忘记从什么地方看的,本质上上面5种也都是继承(这个词我没斟酌好怎么描述)object。
加起来就死typeof的6种返回值。
javascript 把所有类型都当作对象来看,我觉得”将字符串“Hello World!"赋值给变量txt“这种说法更贴近。相当于有一个object叫txt,txt有两个方法,txt.value='Hello World!';txt.length=12;
欢迎继续讨论
我忘记从什么地方看的,本质上上面5种也都是继承(这个词我没斟酌好怎么描述)object。
加起来就死typeof的6种返回值。
javascript 把所有类型都当作对象来看,我觉得”将字符串“Hello World!"赋值给变量txt“这种说法更贴近。相当于有一个object叫txt,txt有两个方法,txt.value='Hello World!';txt.length=12;
欢迎继续讨论
追问
JavaScript是没有数据类型概念,但大家知道数据本身都要有数据类型之分的,JavaScript也内置数据类型的。我是这样理解的,若“Hello World"看作字符串(即文本型)型数据,var txt="Hello World"这条语句将其值拷贝给变量txt的;若"Hello World"看作是对象型数据,也就是"Hello World"是一个字符串对象来看待的话,这条语句就是将"Hello World"的内存地址赋给了变量txt,而不是其本身的值,不知理解是否正确?
追答
Number和String是赋值,其他对象都是指针传递。
这句话想不起来出处了,我是在N+N年前的笔记的深处找的。呵呵。
“Hello World"看作字符串(即文本型)型数据,var txt="Hello World"这条语句将其值拷贝给变量txt的; 我倾向这种解释
展开全部
值类型都是直接赋值,引用类型就是赋值引用,你可以这样测试一下
var a = 1;
var b=a;
b=10;
alert(“a:”+a);
alert("b:"+b);
输出的是 a:1 b:10
因为这里是直接将1这个作为值赋给了b,当我修改了b 的值的时候不会影响a
换中引用类型看一下
var arra = new Array()
var arrb = arra;
arrb[0] =100;
alert("arra:"+arra)
alert("arrb:"+arrb)
这里输出的结果是一样的,因为arra 和arrb 指向都是同一个对象 当arrb对这个对象操作 实际arra 指向的也被修改了 这样明白哪个赋值的是引用哪个赋值是值了吗?
var a = 1;
var b=a;
b=10;
alert(“a:”+a);
alert("b:"+b);
输出的是 a:1 b:10
因为这里是直接将1这个作为值赋给了b,当我修改了b 的值的时候不会影响a
换中引用类型看一下
var arra = new Array()
var arrb = arra;
arrb[0] =100;
alert("arra:"+arra)
alert("arrb:"+arrb)
这里输出的结果是一样的,因为arra 和arrb 指向都是同一个对象 当arrb对这个对象操作 实际arra 指向的也被修改了 这样明白哪个赋值的是引用哪个赋值是值了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typeof txt == 'string'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询