首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单的javascript数学字符串--期望一个错误,但得到了‘正确’的结果?

简单的javascript数学字符串--期望一个错误,但得到了‘正确’的结果?
EN

Stack Overflow用户
提问于 2021-07-31 20:22:13
回答 1查看 27关注 0票数 1

对js来说还是个新手,同时也在努力帮助我年轻的侄子学习。我在解释字符串和数字,以及我们不能用字符串做数学。我解释了+运算符如何连接字符串,因此"3“+ "3”会导致"33“。

但随后我们测试了其他运算符,如*,并获得了正确的结果?我在期待一个错误?并且不能解释为什么它能工作!所以我在这里来找出为什么下面的代码可以工作…

代码语言:javascript
复制
function sum(n) {
  var result = n * n;
  console.log(result);
}

sum("3");

为什么控制台输出9?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-07-31 20:50:00

您看到的行为与此类操作的EMACScript描述一致:https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-applystringornumericbinaryoperator

如果运算符不是+,则认为该运算是数值运算,并尝试转换参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68605596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档