关于js中的静态变量表述

本文探讨了JavaScript中如何模拟静态变量,由于JS作为脚本语言不具备静态变量特性,作者分享了一种通过隐藏域实现类似效果的方法,具体做法是在需要的地方设置隐藏域并用ID标识,利用JS控制其text()方法。此方法在作者的一个音乐播放器切换功能中得到应用,欢迎大家在评论区交流更多实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,在这里我要告诉大家的是,js中没有静态变量这一种说法,他不像c语言和Java那么多的功能,js毕竟是一门脚本语言,但是如果想实现c语言中的静态变量应该怎么做呢?
我这边就我自己的实际开发经验而谈,有一种方法大家或许可以一式,就是给你需要的功能设置隐藏域,然后给你的隐藏域一个ID,通过js来控制他的text()方法从而达到一种静态效果。

<!-- 播放切换 -->
		  <div class="order">
		  	<span hidden="hidden" id="miscstatic">1</span> <!--隐藏域      控制音乐的切换状态  -->
		    <ul>
             <li><span id="choose" class="glyphicon glyphicon-retweet"></span>
              <ol>
                <li onclick="choose1(1)">    <!-- 循环播放 -->
            	  <span class="glyphicon glyphicon-retweet" id="1" onclick="choose1(1)"></span>
                </li>
                <li onclick="choose1(2)">    <!-- 随机播放 -->
            	  <span class="glyphicon glyphicon-random" id="2"></span>
                </li>
                <li onclick="choose1(3)">    <!-- 单曲循环 -->
            	  <span class="glyphicon glyphicon-repeat" id="3"></span>
                </li>
               </ol>
             </li>
            </ul>
	      </div>

这是我做的一个音乐播放器切换的一部分代码,里面我就是用到了隐藏域的概念

//播放切换
    function choose1(id){
		if(id == 1){          //循环播放
			$("#audio").removeAttr('loop','loop');       //不管有没有单曲循环,先做一个移除操作
			$("#choose").removeAttr('class','glyphicon glyphicon-retweet');
			$("#choose").attr('class','glyphicon glyphicon-retweet');
			$("#miscstatic").text('1');
		}else if(id == 2){    //随机播放
			$("#audio").removeAttr('loop','loop');       //不管有没有单曲循环,先做一个移除操作
			$("#choose").removeAttr('class','glyphicon glyphicon-retweet');
			$("#choose").attr('class','glyphicon glyphicon-random');
			$("#miscstatic").text('2');
		}else if(id == 3){    //单曲循环
			$("#choose").removeAttr('class','glyphicon glyphicon-retweet');
			$("#choose").attr('class','glyphicon glyphicon-repeat');
			$("#miscstatic").text('3');
			$("#audio").attr('loop','loop');
			$(".music_program").animate({width:'100%',opactiy:'show'},1);   //进度条(1秒补状态)
		}
	}

这是我的一种方法,如果大家有更好的方法欢迎在评论区一起交谈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值