js全局变量在其他方法中赋值后无法影响到该方法外的全局变量的值(奇葩问题)

js全局变量在其他方法中赋值后无法影响到该方法外的全局变量的值(奇葩问题)做个笔记,以防忘记遇到一个奇葩问题(书写规范不会遇到此问题)问题描述:$(document).ready(function(){varstrCookie=document.cookie;username=”1″;if(strCookie){cookieVariables=strCookie.split(“;”);

大家好,又见面了,我是你们的朋友全栈君。

做个笔记,以防忘记
遇到一个奇葩问题(书写规范不会遇到此问题

问题描述:

$(document).ready(function(){ 
     
    var strCookie=document.cookie;
    username="1";
    if (strCookie) {
        cookieVariables = strCookie.split(";");
        for (i = 0; i < cookieVariables.length; i++) {
        cookieName = cookieVariables[i].split("=");
        if (cookieName[0] === "username"){
            username=cookieName[1];
            alert(cookieName[1]);
        }   
    }
}
alert(username);
});

这样两次输出的username值不同第一个弹出的是Superman,第二个弹出“1”
解决办法:
将要赋的值通过一个function()方法的返回值获得

$(document).ready(function(){ 
     
    var strCookie=document.cookie;
    username=getname(username);
    function getname(username){ 
   
        if (strCookie) {
            cookieVariables = strCookie.split(";");
            for (i = 0; i < cookieVariables.length; i++) {
                cookieName = cookieVariables[i].split("=");
                if (cookieName[0] === username){
                   return cookieName[1];
                   alert("cookieName[1]");
                }       
            }
        }else{
            return "1";
        }
    }
alert(username);
});
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137484.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pyqt5安装配置_如何安装pyqt5安装包

    pyqt5安装配置_如何安装pyqt5安装包上篇介绍了Python的安装:PyQt5教程(一)——Python的安装,本篇介绍PyQt5的安装。一、安装PyQt5:1、方法一:使用pip命令在线安装。输入以下命令可以直接安装:pipinstallPyQt5由于安装默认使用国外的镜像,可能因为网络问题会导致下载慢或者失败的现象。所以我们可以使用国内的镜像,比如豆瓣提供的镜像。只需要加上“-ihttps://pyp…

    2025年5月30日
    8
  • ODS层设计规范_环境类别二类的保护层厚度是多少

    ODS层设计规范_环境类别二类的保护层厚度是多少ODS层设计规范更新时间:2021-06-0814:37我的收藏本页目录数据同步及处理规范 命名规范 数据存储及生命周期管理规范 数据质量规范本文为您介绍ODS层设计规范。数据同步及处理规范数据同步方式的选择 基本规范通过需求形式落地到DataWorks的数据集成,规范落地情况依赖工具的推进节奏。一个系统的源表只允许同步一次到MaxCompute。 数据加载与处理 通过一键实时同步至MaxCompute方案实现,请参见配置查看数据同步任务。 命名规范表命名

    2022年10月6日
    2
  • 线上FGC调优案例三则

    线上FGC调优案例三则前言闲鱼服务端应用广泛使用Java技术栈,基于JVM提供的托管式堆内存管理,开发者无需过多关心对象创建/回收时的内存分配/释放动作,垃圾回收器(GarbageCollector)会在…

    2022年6月19日
    34
  • 软件设计和开发准备

    软件设计和开发准备1.团队序号:1撰写人:施贤开发软件名称飞机大战产品代码仓库: https://gitee.com/tanglibo/plane_wars软件测试工程师商守义:https://git

    2022年6月30日
    21
  • 无线信道特征_无线信道模型有哪几种

    无线信道特征_无线信道模型有哪几种目录1统计性模型(经验模型)1.1模型分类(1)按衰落分类(2)按路径损耗和延迟拓展分类1.2建模方法(1)方法一分类(2)方法二分类2确定模型2.1建模方法3半确定模型3.1建模方法4思维导图PDF、xmind格式下载5参考文献1统计性模型(经验模型)1.1模型分类(1)按衰落分类小尺度传播衰落模型描述小范围内信号的幅度和相位的快速衰落,在电波传播过程中,信号场强在短短(几个信号波长)或短时(秒级)上呈现出快速波动的状况,包括由移动台和基站相对运动造成多普勒频移引起的时间

    2022年9月23日
    2
  • PyTorch中torchvision介绍[通俗易懂]

    PyTorch中torchvision介绍[通俗易懂]TorchVision包包含流行的数据集、模型架构和用于计算机视觉的图像转换,它是PyTorch项目的一部分。TorchVison最新发布版本为v0.11.1,发布较频繁,它的license为BSD-3-Clause。它的源码位于:https://github.com/pytorch/visionTorchVision由C++(CUDA)和Python3实现,依赖Torch、PNG、JPEG,还依赖PIL(Pillow,PythonImagingLibrary)。推荐…

    2022年6月24日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号