在过去的几天里,我刚开始着手研究JS。我一直在阅读变量和函数,而我试图解决的问题是创建一个非常简单的getWeather应用。
该应用程序的目标如下:
创建一个名为getWeather的函数,该函数将具有2个参数。一种称为国家,一种称为weatherType。使用2个参数调用getWeather> function。第一个应该是“苏格兰”,第二个应该是“晴天”。您的函数应返回字符串“苏格兰的天气>是晴天”。在console.log()中包装对getWeather的调用,以打印出字符串。使用您选择的国家和天气类型再调用两次getWeather函数。
到目前为止,这是我想出的代码:
// Function to store both parameteres.
const getWeather = (country, weatherType);
var country = 'Scotland';
var weatherType = 'sunny';
// Dumps the weather results to the console.
{console.log(`The weather in ${country} is ${weatherType}.`)};
到目前为止,我已经放弃了“苏格兰的天气晴朗。”
但是我需要能够将多个语句转储到控制台,例如:
苏格兰的天气晴朗。
英格兰的天气正在下雨。
威尔士的天气是阴暗的。
爱尔兰的天气晴朗。
我试过使用类似的代码:
let getWeather = ('Scotland, sunny')
let getWeather = ('England, raining')
但这会引发错误,任何人都可以指出正确的方向吗?
最佳答案
您误定义了函数:
const getWeather = (country, weatherType);
应该
const getWeather = (country, weatherType) => `The weather in ${country} is ${weatherType}.`;
虽然我更喜欢
function getWeather(country, weatherType) {
return `The weather in ${country} is ${weatherType}.`;
}
关于如何声明函数有很多变体。如果要开始挖掘,请参见Function Declaration和Arrow functions
呼唤
let getWeather = ('Scotland, sunny')
let getWeather = ('England, raining')
尝试覆盖函数本身。不好。
(编辑:它也试图重新定义一个同名的变量。不好。[@ EsliS的好习惯]);
另外,您已经忘记了“内部”引号,因此您传递的是单个参数:
('Scotland, sunny')
应该为('Scotland', 'sunny')
重复是指迭代。看Loops and iteration。
但这可能为时过早。就您而言,您可以多次调用getWeather函数:
console.log(getWeather(('Scotland', 'sunny')));
console.log(getWeather(('England', 'rainy')));