Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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_Html - Fatal编程技术网

Javascript 我的脚本在页面加载时执行不正确

Javascript 我的脚本在页面加载时执行不正确,javascript,html,Javascript,Html,我的脚本应该在页面加载时被调用,但是if语句中的某些内容工作不正常 我知道脚本正在被调用,因为onload警报可以工作。我不知道if语句中出现了什么问题 函数名称检查{ 警报测试; iflocalstorage.getItemname==未定义| | localstorage.getItemname==空{ var name=prompt请输入您的姓名; localStorage.setItemname,名称; 位置。重新加载; } 否则{ document.getElementByIdwel

我的脚本应该在页面加载时被调用,但是if语句中的某些内容工作不正常

我知道脚本正在被调用,因为onload警报可以工作。我不知道if语句中出现了什么问题

函数名称检查{ 警报测试; iflocalstorage.getItemname==未定义| | localstorage.getItemname==空{ var name=prompt请输入您的姓名; localStorage.setItemname,名称; 位置。重新加载; } 否则{ document.getElementByIdwelcome=Hello,+localStorage.getItemname; } } 您需要更改元素的名称

document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
您需要更改元素的名称

document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");

除了上面@Gendarme所说的innerHTML之外,您还以错误的方式检查了localStorage值

例如,您正在检查name变量是否为null,如下所示:

 function nameCheck() {
    alert("test");
    if(localStorage.getItem("name") === undefined || localStorage.getItem("name") === null) {
        var name = prompt("Please enter your name");
        localStorage.setItem("name", name);
        location.reload();
    } else {
        document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
    }
  }
localStorage.getItemname==null

然而,它应该是这样的:

localStorage.getItemname==null

另外,第一个if语句中代码中的单词/术语localStorage有一个小s,它应该是大写的s

因此,完整代码应如下所示:

 function nameCheck() {
    alert("test");
    if(localStorage.getItem("name") === undefined || localStorage.getItem("name") === null) {
        var name = prompt("Please enter your name");
        localStorage.setItem("name", name);
        location.reload();
    } else {
        document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
    }
  }

除了上面@Gendarme所说的innerHTML之外,您还以错误的方式检查了localStorage值

例如,您正在检查name变量是否为null,如下所示:

 function nameCheck() {
    alert("test");
    if(localStorage.getItem("name") === undefined || localStorage.getItem("name") === null) {
        var name = prompt("Please enter your name");
        localStorage.setItem("name", name);
        location.reload();
    } else {
        document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
    }
  }
localStorage.getItemname==null

然而,它应该是这样的:

localStorage.getItemname==null

另外,第一个if语句中代码中的单词/术语localStorage有一个小s,它应该是大写的s

因此,完整代码应如下所示:

 function nameCheck() {
    alert("test");
    if(localStorage.getItem("name") === undefined || localStorage.getItem("name") === null) {
        var name = prompt("Please enter your name");
        localStorage.setItem("name", name);
        location.reload();
    } else {
        document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
    }
  }

对上面的@Sarah代码也有一点改进,您不需要单独验证它是未定义的还是空的

您可以使用:

if(!localStorage.getItem("name"))
Sarah关于localStorage的首都S的好发现

因此,您的代码应该如下所示:

 function nameCheck() {
    alert("test");
    if(!localStorage.getItem("name")) {
        var name = prompt("Please enter your name");
        localStorage.setItem("name", name);
        location.reload();
    } else {
        document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
    }
  }

对上面的@Sarah代码也有一点改进,您不需要单独验证它是未定义的还是空的

您可以使用:

if(!localStorage.getItem("name"))
Sarah关于localStorage的首都S的好发现

因此,您的代码应该如下所示:

 function nameCheck() {
    alert("test");
    if(!localStorage.getItem("name")) {
        var name = prompt("Please enter your name");
        localStorage.setItem("name", name);
        location.reload();
    } else {
        document.getElementById("welcome").innerHTML = "Hello, " + localStorage.getItem("name");
    }
  }
将代码编写为以下代码,而不是iflocalstorage.getItemname==undefined | | localstorage.getItemname==null:

iflocalStorage.getItemname==未定义| | localStorage.getItemname==空

因为你的代码格式一开始是错误的,所以它不能工作。要从localStorage获取密钥对值,应将其写入localStorage.getItemkey.Now,localStorage仅支持字符串作为值,因此,在使用比较符号时要小心,因为您知道localStorage.getItemname===null不起作用,所以请使用localStorage.getItemname==null。

而不是这个iFocalStorage.getItemname===undefined | | localStorage.getItemname==null,将代码编写为:

iflocalStorage.getItemname==未定义| | localStorage.getItemname==空


因为你的代码格式一开始是错误的,所以它不能工作。要从localStorage获取密钥对值,您应该将其写为localStorage.getItemkey.Now,localStorage只支持字符串作为值,因此在使用比较符号时要小心,因为您知道localStorage.getItemname===null不起作用,所以请改为使用localStorage.getItemname==null。

很好。没注意到,接得好。我没注意到,谢谢。事实上,我认为这样更好!localStorage.getItemname可能返回一个假阳性。这一点很好。顺便问一下,未定义的内容是否需要包含在报价中?它不是应该类似于null吗?谢谢。事实上,我认为这样更好!localStorage.getItemname可能返回一个假阳性。这一点很好。顺便问一下,未定义的内容是否需要包含在报价中?它不应该类似于null吗?