Lio*_*ion 6 javascript type-conversion
我们来看看下面的Javascript代码.
<script type="text/javascript" lang="javascript">
function test()
{
alert('2'+8);
alert(8-'2');
}
</script>
Run Code Online (Sandbox Code Playgroud)
在第一个警告框中,它显示连接2和8的结果,即28.但是在第二个警告框中,它显示两个数字的减法,即6.怎么样?
Fel*_*ing 10
该+操作符被重载.如果任何操作数是字符串,则执行字符串连接.如果您有两个数字,则执行添加.在-不以这样的方式过载,所有操作数转换为数字.
从规格:
(...)
7.如果Type(lprim)是String或Type(rprim)是String,那么
- 返回串联ToString(lprim)后跟ToString(rprim) 的结果的字符串
8.将添加操作的结果返回到ToNumber(lprim)和ToNumber(rprim).
(......)(...)
5.让lnum为ToNumber(lval).
6.设rnum为ToNumber(rval).
7.将减法运算的结果返回到lnum和rnum.
(......)
| 归档时间: |
|
| 查看次数: |
6354 次 |
| 最近记录: |