通过Eloquent Javascript书,我遇到了一些我以前没见过的东西.
在下面的代码片段中,变量"map"后面是空的花括号.有人可以解释一下这意味着什么吗?这会对随后的功能做什么.
此外,有人可以解释什么地图[事件] = phi; 确切地说?我认为这个地图指的是我们在第一行宣布的变量'map'...
var map = {};
function storePhi (event, phi) {
map[event] = phi;
}
storePhi("pizza", 0.069);
Run Code Online (Sandbox Code Playgroud) 我刚刚开始学习Javascript,我对下面的特定代码有一个特定的问题.它是Eloquent Javascript第4章中lycanthrope登录的一部分.由于我的问题的特殊性,我没有包括与此问题相关的所有其他代码,因为我认为没有必要回答我的问题.
如果这被认为是"不良做法",请告诉我,我将确保修改此和/或未来的帖子以显示更多背景信息.
在下面的代码中,第二行显示返回.到目前为止,我已经了解到indexOf返回一个正数或零,当且仅当它发现其中传递的任何内容时才会发生.如果没有发现,则返回-1.
在这种情况下,它后跟!= -1,我理解为"不等于-1".这对我来说很清楚.
我不完全理解的是第2行的实际回报最终是什么.它返回true或false的布尔值吗?或者它是否返回了找到"事件"的实际索引?
接下来,在第一个if语句中,我们再次看到hasEvent变量.我将此语句读作"如果hasEvent(event,entry)为true,则将1添加到索引中.
我是否正在阅读'这是正确的,第二行的回报确实是一个布尔值?
function hasEvent (event, entry) {
return entry.events.indexOf(event) != -1;
}
function tableFor (event, journal) {
var table = [0, 0, 0, 0];
for (var i=0; i < journal.length; i++) {
var entry = journal[i] , index = 0;
if (hasEvent(event, entry)) index += 1;
if (entry.squirrel) index += 2;
table [index] += 1;
}
return table;
}
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助,请告诉我是否应该以不同的方式陈述此问题!我想在继续之前确保我理解事情!
javascript ×2