代码之家  ›  专栏  ›  技术社区  ›  Wais Kamal

如何将所有函数参数视为字符串?

  •  0
  • Wais Kamal  · 技术社区  · 7 年前

    我有这个功能:

    function read(x) {
      console.log("You typed: " + x);
    }
    

    如果我跑了 read("Hello")

    你键入:你好;

    但如果我跑了 read(Hello) ,我得到:

    我这样修改函数:

    function read(x) {
      console.log("You typed: " + x.toString());
    }
    

    但没有成功。

    所以,我想把函数参数当作一个字符串,不管用户如何输入它。我如何做到这一点?

    3 回复  |  直到 7 年前
        1
  •  3
  •   Thomas    7 年前

    你不能。语言语法就是这样设计的,所以如果你 read(Hello) 它将查找名为 Hello . 这不存在,因此出现错误。

    如果你想传递一个字符串,你需要引用它(或者把它赋给一个变量,然后传递这个变量)。这是没办法的。

        2
  •  1
  •   god_papa    7 年前

    当你打电话的时候 read 比如:

    read("Hello");
    

    值已传递给 阅读 功能。但是打电话的时候:

    read(Hello);
    

    这是电话 阅读 变量值函数 Hello 你好 从未声明。

    引用错误 ReferenceError 对象表示引用不存在的变量时的错误。

    read(5);
    read(true);
    read('a');
    

    var a = 55;
    var b = 'Hello';
    var c = false;
    
    read(a); // Passing value of a variable
    read(b); // Passing value of b variable
    read(c); // Passing value of c variable
    

    变量 variables 作为应用程序中值的符号名。变量名,称为标识符,符合某些规则。

        3
  •  0
  •   Serg    7 年前

    当用户输入字符串时,它将作为字符串传递。例如:

    var str = "Hello";
    read(str); // will print "You typed: Hello"
    

    但你想用这个做什么 read(Hello) 传递一个名为 Hello 在这种情况下根本不存在。要解决这个问题,您可以这样写:

    var Hello = "Hello";
    read(Hello); // will print "You typed: Hello"
    

    它会很好的工作。