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);
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
函数来处理这个问题。