Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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 如何在js中检查字符串是否包含任何值(无论是符号还是任何东西)?_Javascript - Fatal编程技术网

Javascript 如何在js中检查字符串是否包含任何值(无论是符号还是任何东西)?

Javascript 如何在js中检查字符串是否包含任何值(无论是符号还是任何东西)?,javascript,Javascript,我正在创建一个网页,要求用户输入他的名字,他的名字存储在他的浏览器中。如果他/她打开了同一页,他们会收到之前被询问时输入的姓名。我试过了 varx//未定义x以检查它是否包含值 函数名(){ x=提示(“输入您的姓名”); } 函数save(){ setItem('name',x);//将名称保存在x变量中的本地存储中 让myName=localStorage.getItem('name');//获取项目名称 } 如果(x==未定义){//如果x不包含值,则要求输入名称 名称(); }否则{ s

我正在创建一个网页,要求用户输入他的名字,他的名字存储在他的浏览器中。如果他/她打开了同一页,他们会收到之前被询问时输入的姓名。我试过了

varx//未定义x以检查它是否包含值
函数名(){
x=提示(“输入您的姓名”);
}
函数save(){
setItem('name',x);//将名称保存在x变量中的本地存储中
让myName=localStorage.getItem('name');//获取项目名称
}
如果(x==未定义){//如果x不包含值,则要求输入名称
名称();
}否则{
save();//如果有
文件编写(x)
}
文件。填写(姓名)
我做错了什么?

您可以使用

if (!x) 

这将涵盖空字符串

逻辑应该是

var name = localStorage.getItem('name');
if (!name) {
  name = prompt("Input your name");
  localStorage.setItem('name', name);
}
document.write(name);
  • 从本地存储获取值
  • 如果localStorage为空,请输入名称并将其保存到localStorage
  • 显示名称
  • (此外,最好避免使用
    document.write

    在代码中,在提示输入名称之前,从不检查localStorage中存储的内容

    var name=restoreName();
    函数restoreName(){
    返回localStorage.getItem('name');
    }
    函数askName(){
    返回提示(“输入您的姓名”);
    }
    函数saveName(providedName){
    //将名称保存在x变量中的本地存储中
    setItem('name',providedName | |“”);
    }
    如果(!name){//如果x不包含值,则要求输入name
    name=askName();
    保存名称(名称);
    }
    
    警报(`Hello${name}`)
    如果您不关心字符串实际包含的内容,只需检查长度是否大于0(也就是说,它至少包含一个字符):
    x.length>0
    但这造成了一个错误,我无法询问它不使用askName()的名称;函数insted,它显示可能发生的Hello null,因为如果在提示符上单击
    cancel
    ,它将返回null,如果尝试将localStorage项设置为
    null
    ,它将
    “null”
    存储为字符串。我更新了
    saveName
    函数来处理这个问题。