三行javascript的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 05:10:43
bbb = "bbb";
bbb.foo = "foo";
alert(bbb.foo);

为什么弹出的对话框提示undefined
bbb.foo应该是foo啊,为什么说undefined

给bbb.foo赋值的时候没有报错,而且javascript里字符串也是对象啊

楼主其实问题问的没有莫名其妙。
字符串也是对象,只不过楼主没有按字符串对象的方式来声明这个字符串。
如果代码改成下面这样,楼主你就应该明白原理了:

var bbb = new String( "bbb" );
bbb.foo = "foo";
alert( bbb.foo );

这样得到的结果就是"foo"了

因为bbb不是对象,它只是一个字符串变量。
即使用了bbb.foo也无法向foo赋值。

如果改为:
var bbb = {};
bbb.foo = "foo";
alert(bbb.foo);
就可以得到foo了

bbb.foo中的.foo是什么啊,没定义吧,

如果程序不是很长,最好能把相对表达完整意思的程序都贴出来.

痛恨阳说的对,楼主的题目也的确问得莫名其妙。。。

能不能说详细点啊....