javascript-为什么可以';我使用存储变量而不是本地存储吗?
因此,我尝试替换下面使用本地存储的代码javascript-为什么可以';我使用存储变量而不是本地存储吗?,javascript,Javascript,因此,我尝试替换下面使用本地存储的代码 var myButton = document.querySelector('button'); var myHeading = document.querySelector('h1'); function setUserName() { var myName = prompt('Please enter your name.'); localStorage.setItem('name', myName); myHeading.textCon
var myButton = document.querySelector('button');
var myHeading = document.querySelector('h1');
function setUserName() {
var myName = prompt('Please enter your name.');
localStorage.setItem('name', myName);
myHeading.textContent = 'Mozilla is cool, ' + myName;
}
if(!localStorage.getItem('name')) {
setUserName();
} else {
var storedName = localStorage.getItem('name');
myHeading.textContent = 'Mozilla is cool, ' + storedName;
}
myButton.onclick = function() {
setUserName();
}
使用此代码从存储的变量中检索
var myButton = document.querySelector('button');
var myHeading = document.querySelector('h1');
var myName;
function setUserName() {
myName = prompt('Please enter your name.');
//localStorage.setItem('name', myName);
myHeading.textContent = 'Mozilla is cool, ' + myName;
}
if(!myName) {
setUserName();
} else {
//var storedName = localStorage.getItem('name');
myHeading.textContent = 'Mozilla is cool, ' + myName;
}
myButton.onclick = function() {
setUserName();
}
为什么它不能相应地工作?刷新页面时,所有变量都会被清除。同样地,
if(!myName)
返回true并再次提示用户。LocalStorage允许您将变量保存为浏览器中页面刷新之间的键/值对
另外,在sessionStorage vs localStorage上查看以下答案:刷新页面时,所有变量都被清除。同样地,
if(!myName)
返回true并再次提示用户。LocalStorage允许您将变量保存为浏览器中页面刷新之间的键/值对
另外,请在sessionStorage vs localStorage上查看以下答案:当您加载页面时,
myName
未定义,因此它会提示输入名称。localStorage
会在本地计算机上跨请求持久化,因此会保留本地存储。每次加载页面时,都会从fresh重新创建变量-它们基本上不会存储在allLocal存储中。Local存储允许您在浏览器中本地存储数据,因此它会在下次加载页面时保留数据。当您再次加载不带本地存储的页面时,该变量将被重置。当您加载页面时,myName
未定义,因此它会提示输入名称。localStorage
会在本地计算机上跨请求持久化,从而保留本地存储。每次加载页面时,都会从fresh重新创建变量-它们基本上不会存储在allLocal存储中。Local存储允许您在浏览器中本地存储数据,因此它会在下次加载页面时保留数据。当您在没有本地存储的情况下再次加载页面时,变量被重置。LocalStorage
允许您保存键/值对,而不是每个sethx的变量,但有一件事我不明白;为什么在我加载页面(本地存储代码)时第一次不显示提示?程序跳过这一行并运行myHeading.textContent='Mozilla很酷,'+myName;这会导致浏览器显示null。好问题,我建议使用浏览器检查器查看本地和会话存储,并了解其中的情况。它以前可能存储了现在正在检索并需要清除的数据。如果打开inspector并转到storage,您将看到local和session的选项。你可以从那里删除它们。或者转到控制台(在inspector中)并输入localStorage.clear()代码>附言。如果您对答案感到满意,我希望您能打勾将其标记为正确答案。什么时候/如果有,由你决定LocalStorage
允许您保存键/值对,而不是每个sethx的变量,但有一件事我不明白;为什么在我加载页面(本地存储代码)时第一次不显示提示?程序跳过这一行并运行myHeading.textContent='Mozilla很酷,'+myName;这会导致浏览器显示null。好问题,我建议使用浏览器检查器查看本地和会话存储,并了解其中的情况。它以前可能存储了现在正在检索并需要清除的数据。如果打开inspector并转到storage,您将看到local和session的选项。你可以从那里删除它们。或者转到控制台(在inspector中)并输入localStorage.clear()代码>附言。如果您对答案感到满意,我希望您能打勾将其标记为正确答案。什么时候/如果有,由你决定!