首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两次使用Javascript代码

两次使用Javascript代码
EN

Stack Overflow用户
提问于 2014-07-17 09:21:06
回答 2查看 101关注 0票数 0

首先,我想说,我很抱歉没有使用代码示例。这是我第一次问堆栈溢出,我发现它真的令人困惑。

我的javascript代码工作得很好,但是当我试图复制它并更改变量名时,它似乎不起作用。

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

代码语言: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>
EN

回答 2

Stack Overflow用户

发布于 2014-07-17 09:52:12

是的,看起来您不知道代码在做什么…localStorage是一个浏览器api,您不能仅仅重命名它(就像您不能--也没有--更改documentinnerHTML一样)。

但是,根本没有理由重命名任何变量。通过使用声明,可以使它们成为每个函数的本地函数,这样它们就不会相互干扰。只需更改对元素的引用:

代码语言:javascript
复制
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;
}

但是,与复制代码相比,更好的做法是给出这些函数参数--一个用于元素的id,一个用于应该使用的属性 of localStorage

票数 0
EN

Stack Overflow用户

发布于 2014-07-17 09:57:08

您不能修改localStorage (浏览器api)!

代码语言: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;
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24799560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档