【发布时间】:2017-01-18 02:46:46
【问题描述】:
您好,我目前正在使用 www.codeacademy.com 网站在空闲时间学习 javascript。
一个例子要求我创建一个对象,然后调用一个函数从这些对象中搜索名称。哪个对象具有名称,则所有属性都应显示在屏幕上。我可以很容易地用 if else 语句来做到这一点。令我困惑的是我无法让它与案例陈述一起使用。它不是选择正确的案例,而是“总是”选择第一个案例。我的代码如下。它包括一些调试行,试图帮助我理解为什么它的行为不像我认为的那样:
var movie = {};
movie.toyStory2 = {
name: "Toy Story 2",
review: "Great story. Mean prospector."
};
movie.findingNemo = {
name: "Finding Nemo",
review: "Cool animation, and funny turtles."
};
movie.theLionKing = {
name: "The Lion King",
review: "Great songs."
};
var list = function(obj) {
for (var prop in obj) {
console.log(1,prop);
}
};
var getReview = function (name) {
for (var name in movie) {
console.log(2, name); // debug line
console.log(3, movie); // debug line
switch (movie) { // debug line i have used different switches to no avail
// movie prop name amongst others, though logically
// i think this should work
case "Toy Story 2":
console.log(4, movie[name].review); // debug line
return movie[name].review;
break;
case "Finding Nemo":
console.log(5, movie[name].review); // debug line
return movie[name].review;
break;
case "The Lion King":
console.log(666, movie[name].review); // debug line
return movie[name].review;
break;
default:
console.log(7, movie[name].review); // debug line
return ("I don't know!");
break;
}
}
};
list(movie);
//getReview("Toy Story 2"); // debug line
//getReview("Finding Nemo"); // debug line
getReview("The Lion King");
对象是我编程中最难理解的部分,任何帮助将不胜感激,请轻点:D
我没想到会立即得到答复,感谢您的建议。我已经把它带到船上并清理了我的帖子。道歉
【问题讨论】:
-
"THE CODE WOULD HAVE BEEN HERE, RATHER THAN SPENDING TIME FORMATTING IT FOR FORUM VIEW I'VE ATTACHED A JPEG OF IT FOR EASIER READABILITY."-- 如果我们想自己运行 -- 我们必须自己输入? -
翻译:是的,花时间让人们可以轻松地帮助你。
-
人们还在把 JavaScript 误认为是 Java?
-
请浏览tour、help center 和how to ask a good question 部分,了解本网站的工作原理并帮助您改进当前和未来的问题,从而获得更好的答案.
-
这甚至不是Java,拜托
标签: javascript function object switch-statement