javascript窗口警报中的消息类型
我试图提醒以下几点:javascript窗口警报中的消息类型,javascript,Javascript,我试图提醒以下几点: 1. alert(1+1+1+1+1); //output: 5 2. alert('1'+1+1+1+1); //output: 11111 3. alert(1+1+1+1+'1'); //output: 41 4. alert(1+1+'1'+1+1); //output: 2111 有人可以解释警报中的消息类型吗 提前谢谢。好的,在javasciprt中,number+number+number=number(您的案例1) 然而,字符串后面的数字与字
1. alert(1+1+1+1+1);
//output: 5
2. alert('1'+1+1+1+1);
//output: 11111
3. alert(1+1+1+1+'1');
//output: 41
4. alert(1+1+'1'+1+1);
//output: 2111
有人可以解释警报中的消息类型吗
提前谢谢。好的,在javasciprt中,number+number+number=number(您的案例1) 然而,字符串后面的数字与字符串连接,并产生一个字符串作为输出'1'+1='11'+1='111',依此类推。(你的情况2) 在第三种情况下,字符串正好出现在数字的末尾,该数字被转换为字符串,结果将是数字后跟字符串形式的字符串。。2+'432'='2432'
最后一种情况是上述所有1+1=2+'1'='21'+1='211'+1='2111'的混合。Javascript是一种弱类型语言,具有运算符重载。这就是为什么你会有那些“奇怪”的行为 哇,操作员超载。嗯 javascript中的
+
具有多种功能。一个是:将数字相加
,另一个是将字符串连接在一起
。这称为运算符重载。与PHP相比,数字相加是+
,但串接字符串是
运算符重载的最大问题是。如果我们有字符串+数字呢。还是数字+字符串
适用不同的规则:
1+1+1+1+1
这很简单,把5个数字加起来
'1'+1+1+1+1
这是更难的一个。他看到的是一个字符串,因此他将其与下一部分(第二部分1
)连接起来。然后他继续说。字符串(11)+1,给出字符串(111),依此类推
第三个例子很有趣。他开始把所有的数字相加,直到最后一个+
符号。它没有数字(4)+字符串(1)。因此,他将数字转换为字符串,并将它们连接在一起
最后一个例子也是如此。如果两个符号中有一个是字符串,+
符号被解释为一个Contatenation。我在读w3school的,我认为这与你的问题有关
它说:
当JavaScript试图对“错误”的数据类型进行操作时,它将尝试将值转换为“正确”类型
它说,结果并不总是你所期望的:
5 + null // returns 5 because null is converted to 0
"5" + null // returns "5null" because null is converted to "null"
"5" + 1 // returns "51" because 1 is converted to "1"
"5" - 1 // returns 4 because "5" is converted to 5
我不明白你在问什么。你是在问类型合并吗?或者警报函数是如何工作的?2 3 4是通过字符串输出的,1是通过数字输出的。我在问有关数据类型转换的问题。。。。这个解释是完全正确的。这与“错误”的数据类型无关,但更多的是解释器切换类型,以获得更好的性能和填充。这是用外行的术语来解释的。duh,我知道你的高级,但请更体谅仍在学习的开发人员。如果你说太多行话,看起来很聪明。你一点帮助都没有!