可以't在JavaScript变量中添加更多单词
Can't add more words in JavaScript variable
当我调用reality((时,我想打印宝蓝,但我得到了未定义的宝蓝。我只是JavaScript的初学者。请帮我找出问题所在。
var color = "Blue";
function reality() {
var color = "Royal " + color;
console.log(color);
}
reality();
请帮我找出问题出在哪里。
在JavaScript中,当所有用var
声明的变量都将具有默认值undefined
时,除非显式地指定了一些内容。
在您的情况下,
var color = "Royal " + color;
您正在使用color
来定义变量color
本身。所以,
"Royal " + color
将成为
"Royal " + undefined
这就是为什么结果是"皇家未定义"。
基本上,在reality
中声明的变量color
会遮蔽在该函数范围之外声明的变量。所以,你需要选择一个不同的名字。
var color = "Blue";
function reality() {
var realityColor = "Royal " + color;
console.log(realityColor);
}
reality();
将打印
Royal Blue
注意:如果您实际上想修改在外部声明的color
变量,那么您不应该在reality
中定义一个名为color
的变量,而是应该直接访问它,就像这个
var color = "Blue";
function reality() {
color = "Royal " + color;
console.log(color);
}
reality();
但是,此函数不会返回任何内容。为了使其更好,您可以返回值并为其分配变量,如
var color = "Blue";
function reality() {
return "Royal " + color;
}
color = reality();
console.log(color);
var color = "Blue";
function reality() {
color = "Royal " + color;
console.log(color);
}
reality();
颜色是全局定义的,因此可以在函数内部进行更改,但如果您再次定义,则会使用未定义的null。
相关文章:
- 使用jQuery检查提交时添加到句子中的单词
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- 通过PHP将单词添加到游戏中
- RegEx:在单词边界添加加号
- 将组成单词的字符添加到数组的开头
- 使用javascript为单词添加样式
- 使用JavaScript添加单词样式,但避免链接
- 单词中的元素每个都添加类
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 添加一个“;以及“;到String-js/Angular中的最后一个单词
- 添加“<strong>"到某个单词使用handlers.js
- 考虑到我在JavaScript中使用.replace.更改了特定单词中间的另一个字符,我如何在该单词之前添加字符
- 找到包含单词的特定链接并添加到数组中
- struts2 文本区域 仅为一个单词添加样式
- 在 JavaScript 中使用正则表达式在单词的任一侧添加空格
- 忽略模糊匹配并使用 JavaScript 添加精确的单词模式匹配
- 使用 jQuery 为某些单词添加下划线
- 将单击的单词添加到字符串中
- 在字符串的任何位置添加单词
- Javascript的PHP函数:扫描字符串并在数组中添加单词