因此可以根据这个原理做出一些效果,例如

<html>
    <head>
        <meta charset="utf-8" />
        <style>
            div{
              width:100px;
              height:100px;
              border:1px solid red;
            }
        </style>
        <script src="jquery.min.js"></script>
        <script>
            $(
                function ()
                {
                 var v = false;
                    //jQuery 当鼠标点击了按钮之后执行了click里面的全部代码
                    $("button[onclick^=Me]").click(
                        function ()
                        {
                            
                            if ( v == false )
                            {
                                $("div#fuck").html("我是假的");
                                v = true;
                            }
                            else
                            {
                                $("div#fuck").html("我是真的");
                                v = false;
                            }
                            
                        }
                    
                    );
                }
            );
        </script>
<head>

</head>
    <body>
        
            <button onclick="Message();return false;">点我查看</button>
            <div id="fuck"></div>
    </body>
</html>

上面的文本会相互替换 我是真的我是假的。如果var v = false; 写在了click里面,那么每次点击按钮执行click事件里面方法的时候,这个变量都会变成 false

因此必须写在外面。

单纯的j代码中也是一样。虽然在不刷新的情况下页面中的变量值是不会发生变化的,但是函数里的代码是要被重复执行的。

下面的js代码页说明了这问题

<html>
    <head>
        <meta charset="utf-8" />
        <style>
            div{
              width:100px;
              height:100px;
              border:1px solid red;
            }
        </style>
        
        <script>
            var v = false;

function Message()
            {
                if ( v == false )
                {
                    alert("我是假的");
                    v = true;
                }
                else
                {
                    alert("我是真的");
                    v = false;
                }
            }
        </script>
<head>

</head>
    <body>
        
            <button onclick="Message();return false;">点我查看</button>
            <div id="fuck"></div>
    </body>
</html>

页可以进行文本的替换。读者在实践中便会明白。js变量的生存周期是在页面加载完成到再次刷新之前的这一整个时间内。

javascript 在页面不刷新的情况下 其中的变量时不会被初始化的的更多相关文章

  1. 仿联想商城laravel实战---3、前端页面搭建(什么情况下需要路由接参数)

    仿联想商城laravel实战---3.前端页面搭建(什么情况下需要路由接参数) 一.总结 一句话总结: 比如访问课程的时候,不同的课程(比如云知梦),比如访问不同的商品,比如访问不同的分类 //商品详 ...

  2. JavaScript实现页面无刷新让时间走动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 四、angularjs 如何在页面没有登录的情况下阻止用户通过更改url进入页面--$stateChangeStart

    有时候用户没有登录或者在某些情况下你是不希望用户进入页面,但是angular的路由机制可以让用户直接通过更改Url进入页面,如何处理这一问题呢? ——监控路由转换机制 $stateChangeStar ...

  4. jQuery使用ajaxSubmit()提交表单(在不希望页面跳转的情况下)

    原文:http://www.jb51.net/article/48728.htm ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先 ...

  5. 标签button:点击button按钮时,出现了页面自动刷新的情况

    原html: <button class="btn btn-primary" id="btnSubmit" name="btnSubmit&qu ...

  6. 通过JavaScript让页面只刷新一次

    1.充分利用地址栏可带参数的选项,用脚本来取得页面间的传递参数,并不需要后台程序的支持. 2.函数名 function reurl(){ url = location.href; //把当前页面的地址 ...

  7. 关于页面中css某些情况下出现不知原因的隔断解决办法

    第一种方法:body{margin:0px;padding:0px position:absolute; top:0px;left:0px;} html{ width:100%; overflow-x ...

  8. iOS Autolayout情况下,ViewController嵌套时,childViewController的Frame异常问题

    近期项目中,使用Storyboard.AutoLayout开发,某个ViewController中嵌套了多个子ViewController,结果在将其加入到父ViewController时,出现坐标异 ...

  9. windows下配置环境变量时,在cmd窗口执行配置的命令时无效的原因

    一个原因肯定就是配置错误,这个就要自己仔细去检查了,如果确信配置正确,可能是你的cmd窗口在环境变量配置之前就打开的,在配置好环境变量之后,在cmd窗口执行命令是看不到效果的,可以关掉cmd窗口再重新 ...

随机推荐

  1. Spring MVC 解读——@Autowired、@Controller、@Service从原理层面来分析

    目录(?)[+] Spring MVC 解读Autowired 一Autowired 二BeanPostProcessor 三磨刀砍柴 四Bean 工厂 五实例化与装配 六执行装配 七一切的开始   ...

  2. ssh paramiko && subprocess

    subprocess: #!/usr/bin/python3 import paramiko import os import sys import subprocess curPath = os.p ...

  3. NET站点升级后,新特新无法编译通过

    NET3.5 webconfig中有自动配置如下代码,用于指示编译器. <system.codedom> <compilers> <compiler language=& ...

  4. Python爬虫教程-新浪微博分布式爬虫分享

    爬虫功能: 此项目实现将单机的新浪微博爬虫重构成分布式爬虫. Master机只管任务调度,不管爬数据:Slaver机只管将Request抛给Master机,需要Request的时候再从Master机拿 ...

  5. java.util.ConcurrentModificationException 异常原因和解决方法

    不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator方式,如果并发操作,需要对 Iterator 对象加锁. 注意: 1.foreach遍历 ...

  6. SpringBoot与Jpa自定义增删查改

    一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  7. Linux开发环境配置笔记[Ubuntu]

    Linux(Ubuntu18.04)安装Chrome浏览器 1.将下载源加入到系统的源列表(添加依赖) sudo wget https://repo.fdzh.org/chrome/google-ch ...

  8. Topcoder SRM 590 Fox And City

    Link 注意到原图给的是一个无向连通图. 如果在原图中两点之间有一条无向边,那么这两点到\(1\)的距离之差不大于\(1\). 这个命题的正确性是显然的,我们考虑它的逆命题: 给定每个点到\(1\) ...

  9. 在Centos 7.7下用minikube部署单节点kubernetes.

    centos8 下用yum安装docker-ce会报错,说明docker-ce对centos8支持还不太好.所以在centos7.7下安装 先更新一下系统 yum update 安装 yum工具,   ...

  10. 【Java】变量命名规范

    Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包.类.变量等的命名规范. (一)Package(包)的命名 P ...