使用Javascript代码两次

时间:2014-07-17 09:21:06

标签: javascript variables

首先,我想说我很抱歉没有使用Code示例。这是我第一次询问stackoverflow,我发现它真的很混乱。

我有这个完美的javascript代码,但是当我尝试复制它并更改变量名称时,它似乎无法正常工作。

JavaScript

function saveEdits() {
    var editElem = document.getElementById("edit");    
    var userVersion = editElem.innerHTML;    
    localStorage.userEdits = userVersion;    
    document.getElementById("update").innerHTML="Edits saved!";

}
function checkEdits() {
    if(localStorage.userEdits!=null)
        document.getElementById("edit").innerHTML=localStorage.userEdits;
}

我试图编辑的方式(我刚接触到javascript我不知道我在做什么): JavaScript

<script type="text/javascript">
function saveEditsplus() {
    var editElemplus = document.getElementById("editplus");
    var userVersionplus = editElemplus.innerHTML;
    localStorageplus.userEditsplus = userVersionhtml;
}
function checkEditsplus() {
    if(localStorage.userEditsplus!=null)
    document.getElementById("editplus").innerHTML=localStorageplus.userEditplus;
}
</script>

3 个答案:

答案 0 :(得分:0)

在您的代码中,您将localStorage的名称更改为localStoragePlus - 但localStorage是您的浏览器提供的内容(请参阅。

如果您将其更改回localStorage,则可能会再次发挥作用。

供参考,这是包含重命名变量的部分:

function saveEditsplus() {
    var editElemplus = document.getElementById("editplus");
    var userVersionplus = editElemplus.innerHTML;
    localStorageplus.userEditsplus = userVersionhtml;
                ^^^^
}

顺便说一下,你没有正确使用localStorage。如果你想在页面重新加载中保存一些东西,你需要调用“set”我知道这不是真的。对困惑感到抱歉。 (tutorial

答案 1 :(得分:0)

是的,看起来你不知道代码在做什么...... localStorage是一个浏览器API,你不能只重命名它(就像你可以 - 并且没有&#39; t - 更改documentinnerHTML)。

但是,根本没有理由重命名任何变量。通过使用var declarations,您可以将它们作为每个函数的本地函数,因此它们无论如何都不会相互干扰。您需要更改的是对元素的引用:

function saveEditsplus() {
    var editElem = document.getElementById("editplus");
    var userVersion = editElem.innerHTML;
    localStorage.userEditsplus = userVersion; // no …html suffix, either
//               ^^^^^^^^^^^^^ the storage reference is global, though
}
function checkEditsplus() {
    if(localStorage.userEditsplus!=null)
    document.getElementById("editplus").innerHTML=localStorage.userEditplus;
}

然而,比复制代码更好的是提供这些functions参数 - 一个用于元素的id,一个用于localStorage的{​​{1}}应该是使用。

答案 2 :(得分:-1)

您无法修改localStorage(浏览器API)!

function saveEdits() {
    var editElem = document.getElementById("edit");    
    var userVersion = editElem.innerHTML;    
    localStorage.userEdits = userVersion;    
    document.getElementById("update").innerHTML="Edits saved!";

}
function checkEdits() {
    if(localStorage.userEdits!=null)
        document.getElementById("edit").innerHTML = localStorage.userEdits;
}