相关疑难解决方法(0)

对于CodeMash 2012的"Wat"演讲中提到的这些奇怪的JavaScript行为有什么解释?

CodeMash 2012"Wat"谈话基本上指出了Ruby和JavaScript的一些奇怪的怪癖.

我在http://jsfiddle.net/fe479/9/上做了一个JSFiddle的结果.

下面列出了JavaScript特有的行为(我不知道Ruby).

我在JSFiddle中发现我的一些结果与视频中的结果不一致,我不知道为什么.但是,我很想知道JavaScript在每种情况下如何处理幕后工作.

Empty Array + Empty Array
[] + []
result:
<Empty String>
Run Code Online (Sandbox Code Playgroud)

+在JavaScript中使用数组时,我对运算符非常好奇.这与视频的结果相匹配.

Empty Array + Object
[] + {}
result:
[Object]
Run Code Online (Sandbox Code Playgroud)

这与视频的结果相匹配.这里发生了什么?为什么这是一个对象.什么是+运营商吗?

Object + Empty Array
{} + []
result
[Object]
Run Code Online (Sandbox Code Playgroud)

这与视频不符.该视频表明结果是0,而我得到[对象].

Object + Object
{} + {}
result:
[Object][Object]
Run Code Online (Sandbox Code Playgroud)

这与视频不匹配,输出变量如何导致两个对象?也许我的JSFiddle错了.

Array(16).join("wat" - 1)
result:
NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Run Code Online (Sandbox Code Playgroud)

做wat + 1导致wat1wat1wat1wat1......

我怀疑这只是简单的行为,试图从字符串中减去一个数字导致NaN.

javascript

743
推荐指数
4
解决办法
7万
查看次数

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

86
推荐指数
1
解决办法
14万
查看次数

添加String with Integer如何在JavaScript中工作?

以下代码给出了奇怪的结果:

console.log("" + 1 + 10 + 2 - 5 + "8");
Run Code Online (Sandbox Code Playgroud)

我已经尝试输入各种不同的值来解决它,但我无法理解引擎盖下发生了什么.

javascript string

31
推荐指数
3
解决办法
1万
查看次数

为什么JavaScript(强制)中1 +'1'='11'和1 - '1'= 0?

这似乎在其逻辑中非常明显(字符串不能减去)但我想知道如何在JavaScript的底层执行中做出这个决定.在这里如何应用强制规则?

javascript

10
推荐指数
1
解决办法
1244
查看次数

关于Javascript中的"5"-1和"5"+1(加号和减号)

我在Javascript中读了一本关于运算符的书,这让我很困惑.

console.log("5"+1);
Run Code Online (Sandbox Code Playgroud)

这会使"5"成为一个字符串.结果就是这样51.

console.log("5"-1);
Run Code Online (Sandbox Code Playgroud)

这个结果就是4.我知道它转换"5"5,但为什么它不显示undefined为"字符串减去数字"?

更新:那么其他语言怎么样?他们更受限制吗?

javascript add date-arithmetic

8
推荐指数
1
解决办法
2363
查看次数

javascript中"1"+"1"和"1" - "1"的两个不同结果

JavaScript强制,订单优先级和关联性可能令人困惑,但我使用下面的链接来理解它,

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

但我仍然没有得到"1"+"1"导致"11""1"- - "1"导致的原因2,

- -应该转换成+它应该处理"1"+"1",我在这里缺少什么?

你可以在这里测试一下:

console.log("1" + "1");
console.log("1"- - "1");
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
1
解决办法
97
查看次数

为什么字符串数字加法不能直观地合并

为什么最后一个操作返回 20?

console.log(2 + 2); // equals 4
console.log("2" + "2"); // equals "22"
console.log(2 + 2 - 2); // equals 2
console.log("2" + "2" - "2"); // equals 20
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
61
查看次数

为什么Javascript在int和string上运行时会有不同的加减值

为什么JavaScript使用与减号不同的字符串和整数来评估加号?

一个例子:

console.log(1+"1");
console.log(1-"1");
Run Code Online (Sandbox Code Playgroud)

第一行打印"11",第二行打印0.

javascript

1
推荐指数
1
解决办法
74
查看次数

标签 统计

javascript ×8

add ×1

date-arithmetic ×1

string ×1