带有返回字符串的Jss函数



我必须在Js中创建函数sayHello,它将返回文本"你好"+带有文本parameter。所以,如果我把f.e.托马斯放进去,它就会回来;你好托马斯";,但如果我不放任何文本,它将返回"你好,沃尔德"。我必须提到我对jss完全陌生,这是我想出的一个代码。

function sayHello(o) { 
return 'Hello' + o;
if (o = 'Tomek ') return 'Hello Tomek';
else if (o = ' ') return 'Hello World';
}

但当我尝试它时,我会得到错误:

Uncaught ReferenceError: Tomek is not defined
at <anonymous>:1:10

好的,我添加一个屏幕截图来显示一个错误。

https://imageupload.io/ROju6ly0M1.i

函数中有几个错误。

  1. "返回";退出函数,因此不能走到逻辑之前
  2. 单一相等是一种赋值,而不是比较。你必须使用相等的三元组

仅举几个例子。

正确的版本:

function sayHello(name) {
name = name || 'World'; // Check if null.
return 'Hello ' + name;
}

首先,必须创建一个带有名称参数的函数。您可以为该参数指定默认值,例如";世界";。收到参数后,您可以返回要打印的短语。

const sayHello = (name = 'World') => `Hello ${name}!`;
console.log(sayHello('Thomas')); // Hello Thomas!
console.log(sayHello());         // Hello World!

以下是遗留方式(ES5之前(:

function sayHello(name) {
name = name || 'World'; // If name is null or undefined, use default
return 'Hello ' + name;
}
console.log(sayHello('Thomas')); // Hello Thomas!
console.log(sayHello());         // Hello World!


编辑

由于没有人真正向你展示如何修复你的代码(有罪…(,以下是你的功能,只需最少的更改即可进行更正:

如果要保留" "的else-If条件,则应将初始return语句移到函数的末尾。如果您有一个If-else-If,而没有一个最终的else,那么您的函数将返回undefined

function sayHello(o) {                     // OK!
//return 'Hello' + o;                    // Do not return early
if (o === 'Tomek') return 'Hello Tomek'; // Use "==" or better "==="
else return 'Hello World';               // No need for an else-if
}                                          // OK!
console.log(sayHello('Tomek'));            // "Hello Tomek"
console.log(sayHello());                   // "Hello World"

首先,您应该了解任何语言的语法和基础知识。你可以这样写方法:

function sayHello(name = 'World') {
return `Hello ${name}`;
}  

在JS中可以有不同的方法来创建函数。但这个和你在其他语言中看到的有点相似;我建议您使用此链接来了解JS的基本知识:https://developer.mozilla.org/en-US/docs/Web/JavaScript

最新更新