变量 returns undefined 不管它被设置成什么
Variable returns undefined no matter what it is set to
在这个函数中,我初始化变量allowDial()
,然后定义它。
我对它的值有一些疑问,所以我在 offHook()
函数的末尾添加了一个 console.log。我之前定义它。无论我将 allowDial
设置为什么,它 returns 未定义 - 无论是数字、布尔值、字符串等
为什么 console.log 返回未定义?如果我不能 console.log 准确地报告它的值,我不知道如何让这个变量的实现工作。
相关代码如下:
var allowDial;
var availableNumbers = ["0", "911", "1 (847) 765-1008" , "867-5309", "1 (212) 456-1414", "555-1212", "555-5555"];
function numberSuggestion() {
var randomNumber = Math.floor(Math.random() * (availableNumbers.length));
var suggestedNumber = availableNumbers[randomNumber];
document.getElementById("suggestion").innerHTML = "How about dialing <strong id='suggestedTelephoneNumber'>" + suggestedNumber + "</strong>? Don't like this number? Click the button above again!";
}
var dialTone;
function offHook() {
document.getElementById("WE2500").style.display = "none";
document.getElementById("dialPad").style.display = "block";
dialTone = new Audio('dialTone.m4a');
dialTone.play();
allowDial === true;
console.log(allowDial);
}
您没有为 allowDial
分配任何值。 ===
用于比较,不用于赋值。要分配一个值,您应该使用 allowDial = true;
您没有为 allowDial
分配任何值。
allowDial = true;
示例:
var tmp;
testVar(tmp); // "is null"
tmp = null;
testVar(tmp); // "is null""is definitive null"
testVar()
function testVar(variable) {
if(variable == null) {
console.log("is null");
}
if(variable === null) {
console.log("is definitive null");
}
}
在这个函数中,我初始化变量allowDial()
,然后定义它。
我对它的值有一些疑问,所以我在 offHook()
函数的末尾添加了一个 console.log。我之前定义它。无论我将 allowDial
设置为什么,它 returns 未定义 - 无论是数字、布尔值、字符串等
为什么 console.log 返回未定义?如果我不能 console.log 准确地报告它的值,我不知道如何让这个变量的实现工作。
相关代码如下:
var allowDial;
var availableNumbers = ["0", "911", "1 (847) 765-1008" , "867-5309", "1 (212) 456-1414", "555-1212", "555-5555"];
function numberSuggestion() {
var randomNumber = Math.floor(Math.random() * (availableNumbers.length));
var suggestedNumber = availableNumbers[randomNumber];
document.getElementById("suggestion").innerHTML = "How about dialing <strong id='suggestedTelephoneNumber'>" + suggestedNumber + "</strong>? Don't like this number? Click the button above again!";
}
var dialTone;
function offHook() {
document.getElementById("WE2500").style.display = "none";
document.getElementById("dialPad").style.display = "block";
dialTone = new Audio('dialTone.m4a');
dialTone.play();
allowDial === true;
console.log(allowDial);
}
您没有为 allowDial
分配任何值。 ===
用于比较,不用于赋值。要分配一个值,您应该使用 allowDial = true;
您没有为 allowDial
分配任何值。
allowDial = true;
示例:
var tmp;
testVar(tmp); // "is null"
tmp = null;
testVar(tmp); // "is null""is definitive null"
testVar()
function testVar(variable) {
if(variable == null) {
console.log("is null");
}
if(variable === null) {
console.log("is definitive null");
}
}