javascript - .toUpperCase() 不是函数

标签 javascript

当名称全部为大写时,该函数应该向用户喊回。例如,当名称为“JERRY”时,函数应返回字符串“HELLO, JERRY!”控制台记录错误:.toUpperCase() 不是函数。

var hello = "Hello, ";

function greet(name) {

  if (name == null) {
    console.log(hello + "my friend")
  } else if (name == name.toUpperCase()) {
    console.log(hello.toUpperCase() + name.toUpperCase())
  } else {
    console.log(hello + name);
  }
}

var names = ["jack", "john"]
greet(names);

最佳答案

names是一个数组。数组没有这样的功能。

您可能想调用 greet对数组的每个元素执行函数:

names.forEach(greet);

如果你想要 greet函数接受一个数组作为参数然后你可以做
function greet(name) {
      if (Array.isArray(name)) {
            name.forEach(greet);
            return;
      }
      ...

但这种多态性通常被视为一种不好的做法。

关于javascript - .toUpperCase() 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394239/

相关文章:

javascript - 关于如何使就地编辑可降解的任何想法?

javascript - 如何在不阻塞 onload 或等待 onload 的情况下加载 iframe

Javascript JQuery - 如果值为 0 则隐藏按钮,否则显示

javascript - 从之前的代码更新 DOM 后运行 javascript 代码

javascript - 保存大文件

javascript - 更改跨度图标 onClick 并移动部分?

javascript - 如何使用正则表达式从字符串中提取所有 24 小时时间?

javascript - 添加前导零直到数字 10

javascript - 在 Firefox 中对已更改的文件使用 FileReader.readAsArrayBuffer()

javascript - 如何关闭 javascript metro 风格的应用程序?