首页 > 解决方案 > Javascript - 错误定义的函数

问题描述

这是javascript函数:

//set cookies
function setCookie (cname, cvalue) {
    var now = new Date();
    var time = now.getTime();
    var expireTime = time + 1000 * 3600 * 24 * 365;

    now.setTime(expireTime);

    document.cookie = cname + '=' + cvalue + ';expires=' + now.toGMTString() + ';path=/';
}

当我从另一个 javascript 文件调用该函数时发生错误:

document.addEventListener("DOMContentLoaded", function () {
    setCookie("showAdminUser", false);    
});

这是 Crhome 控制台中的错误:

Uncaught TypeError: setCookie is not a function
    at HTMLDocument.<anonymous>

我曾想过,该功能仍然缺少“返回”,但它一直在控制台中给我错误:

//set cookies
function setCookie (cname, cvalue) {
    var now = new Date();
    var time = now.getTime();
    var expireTime = time + 1000 * 3600 * 24 * 365;

    now.setTime(expireTime);

    document.cookie = cname + '=' + cvalue + ';expires=' + now.toGMTString() + ';path=/';

    return document.cookie;
}

可能是什么问题呢?谢谢。

标签: javascript

解决方案


这似乎是管理资源文件的问题,而不是编程错误。

JavaScript 函数不需要 return 语句,没有一个完全没问题。

就像进行完整性检查一样,尝试将函数复制到您正在使用它的同一文件中。如果它有效,那么问题出在<script src=...标签顺序、范围可见性或其他类似的地方,我猜。


推荐阅读