记录-js基础练习题

news2024/11/26 16:31:51

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

隔行换色(%):

window.onload = function() {
    var aLi = document.getElementsByTagName('li');
    for(var i = 0; i < aLi.length; i++){
        if(i%2 == 1){
			aLi[i].style.background = '#bfa';
        }
    }
}
<ul>
    <li>aaa</li>
	<li>bbb</li>
	<li>ccc</li>
	<li>ddd</li>
</ul>

简易计算器:

<script>
	window.onload = function(){
		var oNum1 = document.getElementById('num1');
        var oNum2 = document.getElementById('num2');
        var oBtn = document.getElementById('btn');
        var oSel = document.getElementById('sel');
        oBtn.onclick = function(){
            var iNum1 = parseInt(oNum1.value);
            var iNum2 = parseInt(oNum2.value);
            switch(oSel.value){
				case '+':
                	alert(iNum1+iNum2);
                break;
                case '-':
               		alert(iNum1-iNum2);
                break;
                case '*':
                	alert(iNum1*iNum2);
                break;
                case '/':
                	alert(iNum1/iNum2);
                break;
                default:
                	alert('你没有合适的运算符!');
                break;
            }
        }
	}
</script>
<input type="text" id = "num1">
<select name="" id="sel">
	<option value="+">+</option>
	<option value="-">-</option>
	<option value="*">*</option>
	<option value="/">/</option>
</select>
<input type="text" id="num2">
<input type="button" value="计算" id="btn">

双色球随机数生成:

目标:生成一组(7个) 1-33之间的随机不重复的整数(1.生成一个1-33之间的整数。 2.生成7个–>循环长度不固定用while循环。 3.要求不重复,补零操作)

<script>
    function rnd(m, n) {
    return m + parseInt(Math.random()*(n-m));
	}
	//数组去重
	function findInArr(num,arr) {
		for(var i = 0; i < arr.length; i++) {
            if(arr[i] == num){
                return true;
            }
        }
        return false;
    }
	function toDo(n){
        return n < 10 ? '0' + n : '' + n;
    }
	var arr = [];
	while(arr.length < 7) {
        //1-34包括1,不包括34
        var rNum = rnd(1,34);
        if(findInArr(rNum,arr) == false) {
            arr.push(toDo(rNum));
        }
    }
	document.write(arr);
</script>

鼠标滑过div显示隐藏:

<div id="box1"
   οnmοuseοver="document.getElementById('box1').style.width='200px';document.getElementById('box1').style.height='200px'"
     οnmοuseοut="document.getElementById('box1').style.width='100px';document.getElementById('box1').style.height='100px'">
</div>

条件判断if:

点击按钮,如果div显示,那么隐藏它,如果div隐藏,那么显示它。

<input type="button" value="显示隐藏" οnclick="showHide()">
<div id="box1"></div>
<script>
        function showHide() {
            var oDiv = document.getElementById('box1');
            if (oDiv.style.display == "block") {
                oDiv.style.display = "none";
            } else {
                oDiv.style.display = "block";
            }
        }
</script>

背景色换肤功能:

一个页面两个按钮,一个div点击不同的按钮,背景色分别变成不同的颜色,字体大小也要改变。

<style>
        #box1 {
            width: 200px;
            height: 200px;
            background-color: #bfa;
        }
        .day{
            background: green;
            font-size: 10px;
        }
        .night{
            background: gray;
            font-size: 22px;
        }
</style>
<input type="button" value="白天" οnclick="showDay()">
<input type="button" value="夜晚" οnclick="showNight()">
<div id="box1">实现白天夜晚换肤功能</div>
<script>
        function showDay(){
            document.body.className="day";   
        }
        function showNight(){
            document.body.className="night";
        }
</script>

行为和结构的分离:

<script>
	window.onload = function(){
		//1.获取元素
		var oBtn = document.getElementById('btn');
		//2.加事件
		oBtn.onclick = function(){
			alert();
		};
	};
</script>

全选功能的实现:

<script>
window.onload = function () {
	var oA = document.getElementById('all');
	var oBox = document.getElementById('box');
	//获取一组元素
	var oInp = oBox.getElementsByTagName('input');
	oA.onclick = function () {
		for (var i = 0; i < oInp.length; i++) {
			oInp[i].checked = true;
		}
	};
};
</script>
<input type="button" value="全选" id="all">
<hr>
<div id="box">
	<input type="checkbox" name="">
	<input type="checkbox" name="">
	<input type="checkbox" name="">
	<input type="checkbox" name="">
</div>

操作元素类容和属性的两种方式:

①方式:

window.onload = function(){
	var oBtn = document.getElementById('btn');
	oBtn.style.background = 'red';
	//方式二能实现1实现不了的功能oBtn['style']['background'] = 'green';
    //var aaa = 'background';
    //oBtn.style[aaa] = 'green';能够使用变量
}

②内容:

  1. 表单元素:oBtn.value
  2. 非表单元素:

    前端学习

    oP.innerHTML

反选功能实现:

window.onload = function() {
	var oR = document.getElementById('reverse');
	var oC = document.getElementById('C1');
	oR.onclick = function(){
		if(oC.checked == true){
            oC.checked = false;
		}else{
            oC.checked = true
        }
	}
} 
<input type = "button"  value="单个复选框反选" id="reverse">
<input type="checkbox" name="" id="C1">
    //这样写太麻烦了,不够简洁。改变如下:
<script>
	window.onload = function() {
		var oR = document.getElementById('reverse');
		var oC = document.getElementById('C1');
		oR.onclick = function() {
			oC.checked = !oC.checked;
		}
	}
</script>
<input type="button" value="单个复选框反选" id="reverse">
<input type="checkbox" name="" id="C1">

联动选择:

需求:点击上面的全选,那么下面都选中,如果下面全选中,那么上面也选中,如果下面有一个没选中,那么上面不选中。

<script>
    window.onload = function() {
		var oA = document.getElementById('all');
    	var oBox = document.getElementById('box');
    	var oInp = oBox.getElementsByTagName('input');
    	oA.onclick = function(){
            for(var i = 0; i < oInp.length; i++){
                oInp[i].checked = oA.checked;
            }
        };
    
    	for(var i = 0; i < oInp.length; i++){
			oInp[i].onclick = function() {
				var count = 0;
                for(var i = 0; i < oInp.length; i++){
                    if(oInp[i].checked){
                        count++;
                    }
                }
                if(count == oInp.length){
                    oA.checked = true;
                }else{
                    oA.checked = false;
                }
            }
        }
}
</script>
<input type="checkbox" name id="all">全选
<hr>
<div id="box">
    <input type="checkbox">
    <input type="checkbox">
    <input type="checkbox">
</div>
//为什么必须加一个box

选项卡实现(排他思想):

for循环是一瞬间完成的

<style>
	#box .on{
		background:#bfa;
	}
	#box div{
		width:300px;
		height:200px;
		border:1px solid red;
		display: none;
	}
</style>
<script>
	window.onload = function(){
		var oBox = document.getElementById('box');
		var oBtn = oBox.getElementsByTagName('input');
		var oDiv = oBox.getElementsByTagName('div');
		for(var i = 0; i < oBtn.length; i++){
            oBtn[i].index = i;
            oBtn[i].onclick = function(){
                for(var i = 0; i < oBtn.length; i++){
					oBtn[i].className = '';
                    oDiv[i].style.display = 'none';
                }
                this.className = 'on';
                oDiv[this.index].style.display = 'block';
            }
        }
	}
</script>
<div id = "box">
	<input type="button" value="体育" class="on">
	<input type="button" value="娱乐">
	<input type="button" value="新闻">
	<div style="display='block'">***获得100米第一</div>
	<div>段奕宏真帅!</div>
	<div>美国懂王昨日于白宫遭**</div>
</div>

简易定时器:

<script>
    window.onload = function() {
		var oTime = document.getElementById('time');
    	var oStart = document.getElementById('start');
    	var oStop = document.getElementById('stop');
    	var timer = null;
    	function toDo(n){
            return n < 10 ? '0' + n : n;
        }
    	oStart.onclick = function() {
            var s = 0;
            clearInterval(timer);
			timer = setInterval(function(){
                s++;
                oTime.value = toDo(parseInt(s / 60)) + ':' + toDo( s % 60);
            },50);	
        };
    	oStop.onclick = function() {
			clearInterval(timer);
        }
	};
</script>
<input type = "text" value="00:00" id = "time">
<input type = "button" value="开始" id="start">
<input type = "button" value = "停止" id = "stop">

文字时钟:

<script>
    window.onload = function() {
		var oP = document.getElementById('p1');
    	var timer = null;
    	function toDo(n) {
			return n < 10 ? '0' + n : n;
        }
    	function time() {
            var arr = ['日', '一', '二', '三', '四', '五','六'];
            var oDate = new Date();
            var year = oDate.getFullYear();
            var month = oDate.getMonth() + 1;
            var date = oDate.getDate();
            var w = oDate.getDay();
            var h = oDate.getHours();
            var m = oDate.getMinutes();
            var s = oDate.getSeconds();
            oP.innerHTML = year + '年' + month + '月' + date + '日' +toDo(h) +':' + toDo(m) + ':' + toDo(s) + '星期' + arr[w]; 
        }
    	time();//不需要等一秒钟再执行函数
    	clearInterval(timer);//定时器先关闭再执行
    	timer = setInterval(time,1000);    	
	}
</script>
<p id="p1">2020年8月20日15:56:30星期四</p>

延迟广告:

图片2s后显示,2s后消失,当鼠标移入图片时,不消失,移出后2s消失。

定时器里面可以套定时器

<script>
	window.onload = function() {
		var oImg = document.getElementById('pic');
        var timer = null;
        var timer2 = null;
        clearTimeout(timer);
        timer = setTimeout(function(){
        	oImg.style.display = 'block';
        	clearTimeout(timer2);
        	timer2 = setTimeout(function(){
        		oImg.style.display = 'none';
        	},2000);
        },2000);    
        oImg.onmouseover= function(){
        	clearTimeout(timer2);
        };
        oImg.onmouseout = function(){
        	timer2 = setTimeout(function(){
        		oImg.style.display = 'none';
        	},2000);
        };
	};
</script>
<img src="../image/1.jpg" id="pic">

自定义属性:

<script>
	window.onload = function(){
		var oBtn = document.getElementById('btn');
		oBtn.abc = 0; //自定义属性
		oBtn.onclick = function(){
			alert(this.abc);
		}
	};
</script>
<input type="button" value="aaa" id="btn">

轮播图(重点):

<style>
	#box .on{
		background: #bfa;
	}
	#box div{
		width: 300px;
		height: 200px;
		border: 1px solid red;
        display: none;
	}
</style>
<script>
	window.onload = function() {
		var oBox = document.getElementById('box');
		var oPrev = document.getElementById('prev');
		var oNext = document.getElementById('next');
		var oBtn = oBox.getElementsByTagName('input');
		var oDiv = oBox.getElementsByTagName('div');
		var iNow = 0;
		for(var i = 0; i < oBtn.length; i++){
			oBtn[i].index = i;
			oBtn[i].onclick = function(){
				iNow = this.index;
				for(var i = 0; i < oBtn.length; i++){
					oBtn[i].className='';
					oDiv[i].style.display='none';
				}
				this.className='on'; //this=oBtn[iNow]
				oDiv[this.index].style.display='block';
			};
		}
		//下一个播放
		oNext.onclick = function(){
			for(var i = 0; i < oBtn.length; i++){
				oBtn[i].className='';
				oDiv[i].style.display='none';
			}
			iNow++;
			if(iNow == oBtn.length){iNow = 0;}
			oBtn[iNow].className='on';
			oDiv[iNow].style.display='block';
		};
		//上一个播放
		oPrev.onclick = function(){
			for(var i = 0; i < oBtn.length; i++){
				oBtn[i].className='';
				oDiv[i].style.display='none';
			}
			iNow--;
			if(iNow == -1){iNow = oBtn.length - 1;}
			oBtn[iNow].className='on';
			oDiv[iNow].style.display='block';
		};		
	};
</script>
<div id="box">
	<a href="javascript:;" id="prev"><-</a>
    <input type="button" value="aaa" class="on">
    <input type="button" value="bbb">
    <input type="button" value="ccc">
    <a href="javascript:;" id="next">-></a>
    <div style="display:block">aaa</div>
    <div>bbb</div>
    <div>ccc</div>
</div>

简化代码(封装)+ 实现自动播放功能 如下:

<script>
	window.onload = function() {
		var oBox = document.getElementById('box');
		var oPrev = document.getElementById('prev');
		var oNext = document.getElementById('next');
		var oBtn = oBox.getElementsByTagName('input');
		var oDiv = oBox.getElementsByTagName('div');
		var iNow = 0;
    	var timer = null;
    	function tab(){
            for(var i = 0; i < oBtn.length; i++){
				oBtn[i].className='';
				oDiv[i].style.display='none';
			}			
			oBtn[iNow].className='on';
			oDiv[iNow].style.display='block';
        }
		for(var i = 0; i < oBtn.length; i++){
			oBtn[i].index = i;
			oBtn[i].onclick = function(){
				iNow = this.index;
				tab();
			};
		}
		//下一个播放
    	function fnNext(){
            iNow++;
			if(iNow == oBtn.length){iNow = 0;}
            tab();
        }
		oNext.onclick = fnNext;
		//上一个播放
		oPrev.onclick = function(){			
            iNow--;
			if(iNow == -1){iNow = oBtn.length - 1;}
            tab();
		};
    	//自动播放
    	clearInterval(timer);
    	timer = setInterval(function(){
            fnNext();
        },1000);
    	oBox.onmouseover = function(){
			clearInterval(timer);
        };
    	oBox.onmouseout = function(){
            clearInterval(timer);
          	timer = setInterval(function(){
                fnNext();
            },1000);  
        };
	};
</script>

理解立即执行函数:

var a = 12;
alert((a)); //2层括号不影响结果
var show = function(){};
show(); //(show)()
;(function(){})();  //防止别人的代码影响自己的

(function(){
	var a = b = 10;
})();
console.log(a); //undefined
console.log(b); //10

简易发布留言:

<script>
	window.onload = function(){
		var oTxt=document.getElementById('txt');
        var oBtn=document.getElementById('btn');
        var oUl=document.getElementById('ul1');
        oBtn.onclick = function(){
			var oLi = document.createElement('li');
            oLi.innerHTML=oTxt.value;
            //oUl.insertBefore(oLi,oUl.children[0]);
            //如果父级下面没有元素,那么向后插入,有,则向前插入。兼容IE
            if(oUl.children.length == 0){
            	oUl.appendChild(oLi);
            }else{
            	oUl.insertBefore(oLi,oUl.children[0]);
            }
            oTxt.value = '';
		};
	};
</script>
<input type="text" id="txt">
<input type="button" value="发布" id="btn">
<ul id="ul1"></ul>

上移下移功能实现:

<script>
	window.onload = function(){
		var oUl = document.getElementById('ul1');
		var aPrev = oUl.getElementsByClassName('prev');
		//上移
		for(var i = 0; i < aPrev.length; i++){
			aPrev[i].onclick = function(){
				var obj = this.parentNode;
				if(obj == oUl.children[0]){
					alert('到头了');
					return;
				}
				
				var oPrev = obj.previousElementSibling || obj.previousSibling;
				oUl.insertBefore(obj,oPrev);
			};
		}
		//下移
		var aNext = oUl.getElementsByClassName('next');
		for(var i = 0; i < aNext.length; i++){
			aNext[i].onclick = function(){
				var obj = this.parentNode;
				if(obj == oUl.children[oUl.children.length-1]){
					alert('到底了');
					return;
				}
				
				var oNext = obj.nextElementSibling || obj.nextSibling;
				var oNext2 = oNext.nextElementSibling || oNext.nextSibling;
				oUl.insertBefore(obj,oNext2);
			};
		}
	};
</script>
<ul id="ul1">
	<li><span>0.床前明月光</span>
		<a href="javascript:;" class="prev">上移</a>
		<a href="javascript:;" class="next">下移</a></li>
	<li><span>1.疑是地上霜</span>
		<a href="javascript:;" class="prev">上移</a>
		<a href="javascript:;" class="next">下移</a></li>
	<li><span>2.举头望明月</span>
		<a href="javascript:;" class="prev">上移</a>
		<a href="javascript:;" class="next">下移</a></li>
	<li><span>3.低头思故乡</span>
		<a href="javascript:;" class="prev">上移</a>
		<a href="javascript:;" class="next">下移</a></li>	
</ul>

右下角悬浮框功能实现:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SwhN8Ctu-1598018747062)(C:\Users\Hrj201305042\AppData\Roaming\Typora\typora-user-images\image-20200821143137668.png)]

//物体实际占的距离
window.onload = function(){
	var oDiv = document.getElementById('div1');
	alert(oDiv.offsetHeight);
};
//关于滚动的距离
body{height:3000px;}
#btn{position:fixed; left:10px; top:200px;}
window.onscroll = function(){
	var oBtn = document.getElementById('btn');
	oBtn.onclick = function(){
		var sT = document.documentElement.scrollTop || document.body.scrollTop;
		alert(sT);
	};
};
//可视区的高度
window.onload = function(){
	var oBtn = document.getElementById('btn');
	oBtn.onclick = function(){
		alert(document.documentElement.clientHeight);	
	};
};
<script>  //窗口缩小onresize
	window.onresize = window.onload=window.onscroll=
    function(){
		if(window.navigator.userAgent.indexOf('MSIE 6.0')!=-1){
			var oDiv = document.getElementById('div1');
			var sT = document.documentElement.scrollTop	|| document.body.scrollTop;
        	var cH = document.documentElement.clientHeight;
        	var oH = oDiv.offsetHeight;
        	oDiv.style.top = sT + cH + oH +'px';
        }	
	};
</script>
<div id="div1"></div>

json和数组的区别:

json中每个元素是以字符串作为下标,数组则是以数字作为下标。json使用for in循环,数组一般使用for循环。

var json = {"name":"leo", "age":18};  var arr=["leo",18];

json是种数据格式,和JavaScript没有直接联系,js原生提供了部分json操作方法,是js数据交互最通用的数据格式之一

json和字符串互转:

①字符串转json:name=leo&age=18 => {“name”: “leo”, “age” : 18}

<script>	
	function url2json(str){
		var arr = str.split('&');
		var json = {};
		for(var i = 0; i < arr.length; i++){
			//[user = leo age = 18 class = javas]
			//arr[i].split('=')[0]  user
			//arr[i].split('=')[1]  leo
			//json['user'] = leo
			json[arr[i].split('=')[0]] = arr[i].split('=')[1];
		}
		return json
	}
	var str = 'user=leo&age=18&class=javas';
	console.log(url2json(str));
</script>

②json转字符串{“name”: “leo” , “age” : 18} => name=leo&age=18

function json2url(json){
	var arr = [];
	for(var name in json){
		//name user
		//json[name] leo
		arr.push(name + '=' + json[name]);
		['name=leo', 'age=18']
	}
	return arr.join('&');
}
var json = {user:"leo", age:18, class:"javas"};
alert(json2url(json));

文字输入框提示实现:

#box{position:relative;}
#box span{color:#ccc;position:absolute;left:6px;top:2px;}
<script>
	window.onload = function(){
		var oS = document.getElementById('s1');
		var oTxt = document.getElementById('txt');
		oTxt.onfocus = function(){
			oS.style.display = 'none';
		};
        oTxt.onblur = function(){
			if(oTxt.value == ''){
				oS.style.display = 'block';
			}
		};
		oS.onclick = function(){
			//oS.style.display = 'none';
			oTxt.focus();
		};
	};
</script>
<div id="box">
	<span id="s1">请输入内容</span>
	<input type="text" id="txt">
</div>

事件对象:

<script>
	window.onload = function(){
		var oBtn = document.getElementById('btn');
		oBtn.onclick = function(ev){
			var oEvent = ev||event;
			console.log(oEvent);
		};
	};
</script>
<input type="button" value="点击" id="btn">

事件冒泡:

document.onclick = function(){alert('document');};
<div id="div1" onclick="alert('div1')">
	<input type="button" value="按钮" onclick="alert('input')">
</div> //点击按钮,从里往外传,input->div1->document.
       //(父级没有事件也往上传)如果input的上级div不添加事件 input-> document
       
//取消冒泡:1标准:oEvent.stopPropagation&&oEvent.stopPropagation();
		2.IE: oEvent.cancelBubble&&(oEvent.cancelBubble=true);

//绑定事件:FF chrome
 oBtn.addEventListener('click',aaa,false);
//IE6-8 没有捕获阶段,只有冒泡
oBtn.attachEvent('onclick', aaa;

获取鼠标点击位置:

document.onclick = function(){
    //chrome , IE
	alert('left:' + event.clientX+',top:'+event.clientY);
};

div跟随鼠标移动:

鼠标移动,div跟随鼠标移动

实现:1.获取鼠标位置 2.赋值给div的left和top样式

#div1{width:200px;height:200px;background:#bfa;position:absolute;}
<script>	
	window.onload = function(){
		var oDiv = document.getElementById('div1');
		document.onmousemove = function(ev){
			var oEvent = ev || event;
			console.log('ev.clientX:' + oEvent.clientX + 'ev.clientY:' + oEvent.clientY);
			oDiv.style.left = oEvent.clientX + 'px';
			oDiv.style.top = oEvent.cilentY + 'px';
		};
	};
</script>
<div id="div1"></div>

本文转载于:

https://blog.csdn.net/qq_48687155/article/details/108159063

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微搭低代码学习之基础操作

低代码开发平台&#xff0c;是一种方便产生应用程序的平台软件&#xff0c;软件会开发环境让用户以图形化接口以及配置编写程序&#xff0c;而不是用传统的程序设计作法。此平台可能是针对 某些种类的应用而设计开发的&#xff0c;例如数据库、业务过程、以及用户界面。这类平台…

STM32锁芯片,解锁方法(J-LINK)

在烧写STM32时&#xff0c;不小心把usb口给弄掉了&#xff0c;然后就尴尬了&#xff0c;芯片被锁了。 烧写的时候报错&#xff0c;如下&#xff1a; 然后就搜了一下&#xff0c;大致有两个方法&#xff0c; 第一种需要通过接3.3V到板子上BOOT0重新上电第二种是直接通过软件…

Golang语言Windows环境搭建(Visual Studio Code)

一、Golang语言简介 二、Windows环境搭建 1、软件下载 Golang语言安装包官网下载地址&#xff1a;https://golang.google.cn/dl/ Visual Studio Code编辑器下载&#xff1a;https://code.visualstudio.com/ 2、Golang安装及环境变量配置 2.1 Golang语言安装包 双击安装…

可配置物料-文章资料分享

可配置物料项目一般很少用到&#xff0c;用到就是要命&#xff0c;推荐一下之前查资料收集的资料&#xff0c;分享给大家。感谢这位大佬收集的文章&#xff01; Variant Configuration (LO-VC) - Product Lifecycle Management - Support Wikihttps://archive.sap.com/document…

5V的LDO电源的WCCA分析-可靠性分析计算过程

WCCA(WorstCase Circuit Analysis)分析方法是一种电路可靠性分析设计技术&#xff0c;用来评估电路中各个器件同时发生变化时的性能&#xff0c;用于保证设计电路在整个生命周期的都可以可靠工作。通过WCCA分析&#xff0c;验证在上述参数在其容差范围内发生变化时&#xff0c;…

C++模板基础(八)

数值模板参数与模板模板参数 ● 模板可以接收&#xff08;编译期常量&#xff09;数值作为模板参数 – template class Str; template<int a> int fun(int x) {return x a; }int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);std::cout << fun…

相机SD卡无法读取提示格式化 相机SD卡无法读取怎么修复

相机SD卡中储存着的照片和视频&#xff0c;承载着我们美好的回忆。因为相机SD卡的容量有限&#xff0c;我们会定期对SD卡中的数据进行云盘备份&#xff0c;然后清理相机SD卡中的数据。在打开相机SD卡时&#xff0c;可能会遇到SD卡无法读取的情况。那么&#xff0c;相机SD卡无法…

Umi‘s Friends 冠名 VC MeetUP 酒会,圆满举办!

香港加密新政的整体目的是令虚拟资产交易明确化和合法化&#xff0c;通过不断完善的监管框架&#xff0c;促进香港虚拟资产行业的可持续和负责任地发展。在加强合规和持牌经营的监管思路下&#xff0c;长期审慎合规经营的老牌机构和项目&#xff0c;显然将获得先发优势。随着香…

开放式蓝牙耳机哪个好,分享几款舒适性高的开放式蓝牙耳机

开放式耳机的兴起是近几年来才出现的新概念&#xff0c;开放式耳机也是近几年来才开始流行起来&#xff0c;在我看来开放式耳机的兴起是科技进步的产物。随着蓝牙耳机技术和设备的发展&#xff0c;蓝牙耳机也越来越普及&#xff0c;但是也给用户带来了很多困扰。而开放式耳机就…

前端学习:HTML链接

目录 一、HTML超链接&#xff08;链接&#xff09; 二、HTML链接语法 三、target属性 target属性值展示 四、name属性 五、补充 关于创建电子邮件链接时如何发送邮件内容 在进行抄送时&#xff0c;需要使用关键字&#xff1a;cc 在进行密送时&#xff0c;需要使用关键字&a…

2.rabbitmq-linux安装

目录 一.环境准备 二.安装 一.环境准备 1.RabbitMQ版本 和 Erlang 版本兼容性关系 https://www.rabbitmq.com/which-erlang.html 2.官方安装包下载地址 【erlang下载地址】&#xff1a;https://github.com/rabbitmq/erlang-rpm/releases/tag/v21.3.1【rabbitmq下载地址】&a…

初识视觉SLAM(视觉SLAM十四讲ch1~ch2的收获与总结)

视觉SLAM14讲ch1和ch2的学习视觉SLAM14讲ch1和ch2的学习前言&#xff1a;一、SLAM是什么二、视觉SLAM14讲学习前的基础三、初步了解1. 小萝卜的例子2. 了解一些视觉SLAM的框架3. 一些数学问题的表述视觉SLAM14讲ch1和ch2的学习 前言&#xff1a; 开始学习视觉SLAM&#xff0c…

MMDetection 3.x 自定义数据集

最近在调研目标检测方面的技术实现&#xff0c;发现关于 MMDetection 自定义数据集的文章&#xff0c;多是就 2.x 版本进行描述的&#xff0c;而关于 3.x 版本的则比较少。有些文章在制作COCO数据集的时候&#xff0c;需要修改多处源代码&#xff0c;而这是没有必要的。本文主要…

【论文阅读】PureGaze

复现论文 PureGaze PureGaze Overview 这篇文章在purify的角度重新定义了gaze estimation的这个问题。 对提纯问题的定义 基于提纯的思想&#xff0c;可以把 gaze estimation 的问题定义为 g F( E( I ) )。 其中&#xff0c;E 是一个特征提取的函数&#xff0c;F 是一个回…

Java中的null总结

日常工作&#xff0c;遇见几次null的语法报错&#xff0c;整理以下Java中null&#xff1a; &#x1f341; null是一个关键字&#xff0c;对大小写敏感&#xff0c;像public、static… &#x1f341; null是所有引用数据类型的默认值&#xff08;int默认0、boolean默认false…)…

HTB-Jeeves

HTB-Jeeves信息收集80端口50000端口![在这里插入图片描述](https://img-blog.csdnimg.cn/5824bf345bc040ee9e449bebeade9495.png)开机kohsuke -> Administrator信息收集 80端口 ask jeeves是一款以回答用户问题提问的自然语言引擎&#xff0c;面对问题首先查看数据库里是否…

耳机输出电路中的耦合电容设计

分析耳机输出电路。 因为其中的输出耦合电容有6个这么多&#xff0c;有点奇怪。 耳机输出电路的实物外观长这样&#xff1a; 音频解码芯片&#xff08;型号WM8988&#xff09;输出音频信号&#xff0c;经过6个耦合电容&#xff0c;最终在耳机接口输出&#xff1a; 关键看靠近…

我的世界 为何用java开发?

mc用java开发就很好滴说明了一点编程语言本身只是个工具工具的意义在于被使用&#xff0c;老外搞这些工具&#xff0c;都带有一个明确的目的性&#xff0c;就是我要做什么然后再来看&#xff0c;我们怎么用手头上的工具将其实现。 mc的开发人员最早就是一个普通的java程序员&a…

GloVe词向量自定义函数实现词向量降维

TEXT.build_vocab(train_data, max_size10000, vectorsglove.6B.100d) LABEL.build_vocab(train_data) pretrained_embedding TEXT.vocab.vectors上面代码加载了glove.6B.100d词向量&#xff0c;假设我需要设计一个函数&#xff0c;将词向量长为100映射到长为50&#xff0c;这…

在Ubuntu20.04下安装Autoware.universe和Carla并进行联合仿真

在Ubuntu20.04下安装Autoware.universe和Carla并进行联合仿真一、安装Carla0.9.13二、安装 UnrealEngine 4.26三、安装Autoware.universe四、设置 OpenPlanner五、运行Carla和Autoware一、安装Carla0.9.13 1、进入Carla 的官方 github 页面&#xff0c;找到0.9.13版本 https:/…