在过去的几天里,我刚开始着手研究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 DeclarationArrow 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')));

07-24 16:36