Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将所有函数参数视为字符串?_Javascript_String_Parameter Passing - Fatal编程技术网

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

Javascript 如何将所有函数参数视为字符串?,javascript,string,parameter-passing,Javascript,String,Parameter Passing,我有这个功能: function read(x) { console.log("You typed: " + x); } 如果我在控制台中运行read(“Hello”),我会得到: 你输入:你好 但是如果我运行read(Hello),我会得到: 未捕获引用错误:未定义Hello 我这样修改了函数: function read(x) { console.log("You typed: " + x.toString()); } 但是没有成功 因此,我想将函数参数视为字符串,而不管用户如何

我有这个功能:

function read(x) {
  console.log("You typed: " + x);
}
如果我在控制台中运行
read(“Hello”)
,我会得到:

你输入:你好

但是如果我运行
read(Hello)
,我会得到:

未捕获引用错误:未定义Hello

我这样修改了函数:

function read(x) {
  console.log("You typed: " + x.toString());
}
但是没有成功


因此,我想将函数参数视为字符串,而不管用户如何输入它。我怎样才能做到这一点呢?

你不能。语言语法就是这样设计的,因此如果您编写
read(Hello)
,它将查找名为
Hello
的变量。这不存在,因此存在错误


如果要传递字符串,则需要引用它(或将其分配给变量,然后传递变量)。这是没有办法的。

你不能。语言语法就是这样设计的,因此如果您编写
read(Hello)
,它将查找名为
Hello
的变量。这不存在,因此存在错误


如果要传递字符串,则需要引用它(或将其分配给变量,然后传递变量)。这是没有办法的。

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

var str = "Hello";
read(str); // will print "You typed: Hello"
换句话说,当你输入一个字符串时,比如说通过控制台,你不必把它放在引号里。但是,当您在代码中为变量设置一个字符串值时,您必须将它放在引号中

但是您试图用这个
read(Hello)
来传递一个名为
Hello
的变量,这个变量在这个上下文中根本不存在。要修复它,您可以编写以下内容:

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

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

var str = "Hello";
read(str); // will print "You typed: Hello"
换句话说,当你输入一个字符串时,比如说通过控制台,你不必把它放在引号里。但是,当您在代码中为变量设置一个字符串值时,您必须将它放在引号中

但是您试图用这个
read(Hello)
来传递一个名为
Hello
的变量,这个变量在这个上下文中根本不存在。要修复它,您可以编写以下内容:

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

在深入编程之前,请先阅读一些基本的编码

当您调用
时,请阅读以下内容:

read("Hello");
值被传递给
read
函数。然而,在打电话时,例如:

read(Hello);
这是使用变量
Hello
的值调用
read
函数,并且从不声明
Hello

引用错误:引用不存在的变量时,对象表示错误

值可以是字符串、数字、布尔值和数组、对象

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

变量:在应用程序中用作值的符号名。变量名(称为标识符)符合某些规则。

在深入编程之前,请阅读一些基本的编码

当您调用
时,请阅读以下内容:

read("Hello");
值被传递给
read
函数。然而,在打电话时,例如:

read(Hello);
这是使用变量
Hello
的值调用
read
函数,并且从不声明
Hello

引用错误:引用不存在的变量时,对象表示错误

值可以是字符串、数字、布尔值和数组、对象

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

变量:在应用程序中用作值的符号名。变量名(称为标识符)符合某些规则。

“这是不可能的。”-根本不能称之为“绕过”。它只是一个变量。我的意思是,没有办法引用字符串文字。我想他的问题是他不能区分变量和值。“没有办法。”-它根本不能被称为“绕过”。它只是一个变量。我的意思是,无法引用字符串文字。我想他的问题是他无法区分变量和值。Nvm,sugar.js不是我想象的那样。可能有一些预处理器可以满足您的需求,但同样,为了那一点点好处,做了太多的工作;它只是在JS中不可用。在Clojure中这很简单:
(defmacro read[s]`(println~(strs))
(read hello)
打印
hello
,但这是因为Clojure有宏支持。Nvm,sugar.js不是我想象的那样。可能有一些预处理器可以满足您的需求,但同样,为了那一点点好处,做了太多的工作;它只是在JS中不可用。在Clojure中这很简单:
(defmacro read[s]`(println~(strs))
(read hello)
打印
hello
,但这是因为Clojure支持宏。