0

我用 JavaScript 写了一个电话号码保护程序。一切正常,但是当我在搜索框中搜索名称或数字时,没有显示结果:

function contact() {
    var nam1=prompt("Please enter the name");
    var num1=prompt("please enter the phone number");
}

contact();

function search() {
    var searc= prompt("Please enter the name of your contact or phone number");
}

search();

//search box

if ( searc == nam1 ) {
    alert("The phone Number is , " + num1);
}

if ( searc == num1 ) {
    alert("The Contact Name is , " + nam1);
}
4

3 回答 3

2

尝试这个:

var nam1='';
var num1='';
var searc='';

function contact() {
    nam1=prompt("Please enter the name");
    num1=prompt("please enter the phone number");
}
contact();
function search() {
    searc= prompt("Please enter the name of your contact or phone number");
}
search();
//search box
if ( searc == nam1 ) {
    alert("The phone Number is , " + num1);
}
if ( searc == num1 ) {
    alert("The Contact Name is , " + nam1);
}

注意:您应该define these variables globally让它们在您使用时可用。

于 2013-05-03T05:09:17.703 回答
1

这里的问题是变量范围。

尝试这个:

var nam1;
var num1;
var searc;

function contact() {

    nam1 = prompt("Please enter the name");
    num1 = prompt("please enter the phone number");

}

contact();

function search() {

    searc = prompt("Please enter the name of your contact or phone number");

}

search();

//search box

if ( searc == nam1 ) {

    alert("The phone Number is , " + num1);

}

if ( searc == num1 ) {

    alert("The Contact Name is , " + nam1);

}
于 2013-05-03T05:10:42.367 回答
0

在 JavaScript 中,变量仅在特定范围内声明,无论是全局的还是声明它们的函数的局部。由于您声明了nam1,num1并且searc在您的函数中,它们在外部不可用。

看看你的错误控制台。通常你应该得到一个ReferenceError,至少在严格模式下。为了防止这种情况在脚本开头声明变量,并且不要在函数中重新声明它们。

于 2013-05-03T05:10:55.150 回答