javascript - 知道为什么在 coffeescript 中会发生这种情况

标签 javascript coffeescript

运行这些行后,我在 coffeescript 中有以下代码,str 的值仍然是“d41d8cd98f00b204”。关于我可能做错了什么的想法?

dataDict = {email: "johndoe@gmail.com", t:213213.213213}
apiFields = ['email', 'password', 'backup_email', 'firstname', 
             'lastname', 'dob', 'username', 'position', 'industry', 
             'institution', 'verificationcode', 'confirmcode', 
             'signuphost', 'responses', 't']

str = "d41d8cd98f00b204"
for ind in apiFields
  str = str + dataDict[ind] if ind in dataDict
console.log(str)

最佳答案

我会:

append = dataDict[ind]
str = str + append if append

你所做的编译为:

if (__indexOf.call(dataDict, ind) >= 0) str = str + dataDict[ind];

在哪里

__indexOf === [].indexOf //Array.prototype's indexOf

Array.prototypeindexOf 不适用于非数组对象。

关于javascript - 知道为什么在 coffeescript 中会发生这种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272877/

相关文章:

javascript - 问题之间的sqlite

javascript - 样式化输入框自动完成

javascript - 从 chrome 扩展监控 history.pushstate

coffeescript - 我也可以在客户端使用Coffeescript吗?

javascript - CoffeeScript 函数参数

javascript - 单击按钮时如何退出 native 应用程序?

javascript - Flash JavaScript 界面

javascript - 在 CoffeeScript 中加载图像?

javascript - 如何从 .NET 编译 CoffeeScript?

coffeescript - 使用 Spine.js Controller 堆栈时未添加“事件”类