为什么这段代码中有反斜杠
Why is there back slash in this piece of code?
我刚刚在javascript:中看到了这行代码
Math.round(someVariable'*100)
这不应该很简单吗:
Math.round(someVariable*100)
我检查了一下,结果似乎都一样。你能说出为什么用反斜杠编码吗?
除非该行以某种方式被/*
和*/
包围,否则这不是有效的Javascript:-)
ECMAScript规范只在字符串(包括JSONString)和正则表达式的上下文中提到反斜杠。如果您使用以下HTML文件:
<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = Math.round(2.57'*10);
}
</script>
</body>
</html>
你会发现大多数浏览器都会出现一个错误:
Firefox 24esr: SyntaxError: illegal character @ ...
Chrome 31 : Uncaught SyntaxError: Unexpected token ILLEGAL
IE 8 : Invalid character
这就是我主要开发框中的所有内容。
事实上,由于Math.round()
返回了一个您应该以某种方式使用的值,因此即使确实有效,该语句也是无用的。这个问题可能有一些你没有提供的额外背景。
可能是您的Javascript解释器的特定实现对其接受的内容不严格,如果不知道您使用的实际解释器,很难辨别。但是,如果是这样的话,我会认真地重新考虑使用它。实现之间有相对较小的差异,但没有一个太离谱,因为它们违反了语言规范的最基本部分。
您需要给我们更多信息,但我看到*的原因是转义regex*。你确定这不是某个字符串或正则表达式查询扫描的一部分吗?
是的,这会让我感到困惑,因为任何一个字符都会介于数学和舍入之间。
这是我能想到的唯一一个会有一个逃脱的星号(*)的想法。
相关文章:
- 无法限制所选复选框的数量(尝试了多个代码段)
- 返回按钮代码段的Jquery冲突
- 问号在这段代码中是什么意思
- 我怎样才能用速记函数来写这段代码
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 为什么在以下代码段中无法访问中的变量值
- 这段代码的含义是什么<%=一些可变的%>
- 崇高的jslint:任何忽略特定代码段的方法
- 为什么这两段代码返回的值不同
- 如何重复某段代码
- Mozilla并没有完美地执行这段代码,尽管它适用于Chrome和IE
- 将 JSP 变量输出到 JavaScript 代码段中
- 这段代码的含义是什么 'start = +start ||0;' 在 JavaScript 中
- Eloquent JS第5章中的这段代码是做什么的
- JQuery:这段代码是什么意思
- 这段代码中发生了什么
- 这段代码有什么问题(responsible html-css-js)
- 调试jQuery代码段
- 嵌套if语句中的else语句.这段代码如何知道要执行哪个else语句
- 这段代码的语法是什么