关于JS语法的疑问

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:54:39
var strs='12315465';
var str='';
for (var i=0;i<strs.length;i++)
{
str=str+ ' ' //str=str+'f' 用处是一样
}
alert(str==strs);

如果strs 中有字符,返回true,没有则返回false

我奇怪str == strs ,这两个有可比性吗?
它是怎么得到true的?
就算strs中有字符,它们也不可能一样啊,

希望高手指点迷津!!!!谢谢!!!

你那个for循环的功能,就是按照strs做一个str,str的长度和strs相同,但是内容全部是空格。

按照上面的规则:

如果strs有内容,而且不全部都是空格,那么做出来的str肯定与strs是不同的,返回结果是false。

如果strs为空,那么做出来的str也为空,他们是相等的,结果为true。

如果strs的内容全部是空格,那么做出来的str也是和strs相同的,结果还是为true。

整体程序,就是判断strs是否为空,或者全部为空格。

如有不理解,请补充。

var strs='12315465';
var str='';
for (var i=0;i<strs.length;i++)
{
str=str+ ' ';
}

alert(str==strs); //返回false,此时‘’!= '12315465'

------------------------------------
var strs='';
var str='';
for (var i=0;i<strs.length;i++)
{
str=str+ ' ';
}

alert(str==strs); //返回true 此时‘’== ''

我也是初学者,我觉得javascript跟java不同的地方之一就在于javascript是个弱类型语言,他对类型没有太大的强调,你可以用var去声明,也可以不用(不建议)。我想在这里他比较的是typeof(类型)。个人薄见,不敢妄谈。