【发布时间】:2017-03-31 11:36:37
【问题描述】:
如果 lastname 是 undefined,我希望 console.log 仅打印 firstname,而不是我得到 firstname +在控制台上未定义。我可以在代码中更改什么,因此如果其中一个未定义而未在控制台中打印“未定义”一词,并且两者都被定义为同时打印它们,则它只会给我名字或姓氏。这是我正在尝试的代码:
document.getElementById("runButton").onclick = function run() {
var lastName = "arm";
var firstName;
function Greeting(firstName, lastName) {
if (lastName = 'undefined') {
console.log("Hello, " + firstName + "!");
} else if (firstName = 'undefiend') {
console.log("hello, " + lastName + "!!");
} else {
console.log("hello, " + firstName + lastName + "!!!");
}
}
Greeting(firstName + " " + lastName);
};
【问题讨论】:
-
当您应该使用
===或==时,您正在使用=进行比较。此外,您将'undefined'放在引号中。删除那些。if (lastName == undefined) { -
if-else 语句使用
== -
也应该是
Greeting(firstName,lastName);,而不是Greeting(firstName + " " + lastName); -
@squint 好的,如果您确定您的 var 应该存在,那么您是对的。 ty :)
-
@Cracker0dks:是的,在某些极端情况下避免这些错误是有意义的,例如可能存在也可能不存在全局定义,尽管
window.SomeGlobal也适用于这种情况。在这种情况下,无论哪种方式都很好。 :)
标签: javascript undefined console.log