js中的事件绑定,ajax,js的随机数,以及时间戳

原生dom绑定事件

  1. 行内绑定
  2. 选择到元素添加事件
  3. 添加事件监听
示例:
<p onclick="console.log(1)">haha</p>
		<p onclick="clikHandle(1)">haha</p>
		function clikHandle(index) {
				console.log(index)
			}
		<div class="pbox">
			<p>haha</p>
		</div>
		document.querySelector('.pbox').onclick = function(e){
				console.log(1)
				console.log(this)  // 当前绑定事件的标签
				console.log(e) // 点击的事件对象
				console.log(e.target) // 触发事件的元素
				console.log(e.currentTarget) // 绑定事件的元素或这标签
			}
			
			document.querySelector('.pbox').addEventListener('click',(e)=>{
					console.log(1)
					console.log(this)  // wndow
					console.log(e) // 点击的事件对象
					console.log(e.target) // 触发事件的元素
					console.log(e.currentTarget) // 绑定事件的元素或这标签
			})
			
			<ul>
			<li>1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
			</ul>
			
			document.querySelector('ul').onclick = function(e){
				console.log(1)
				console.log(e.target)
			}

事件传播的流程:

事件捕获 (从大到小的过程)
目标源
冒泡阶段 (从小到大的过程)

示例:
window.addEventListener('click',()=>{
			console.log('window--true')
		},true)
		window.addEventListener('click',()=>{
			console.log('window--false')
		},false)
	
	
		document.querySelector('.box1').addEventListener('click',()=>{
			console.log('box1--true')
		},true)
		document.querySelector('.box1').addEventListener('click',()=>{
			console.log('box1--false')
		},false)
		
		
		
		document.querySelector('.box2').addEventListener('click',()=>{
			console.log('box2--true')
		},true)
		document.querySelector('.box2').addEventListener('click',()=>{
			console.log('box2--false')
		},false)
		
		
		document.querySelector('.box3').addEventListener('click',()=>{
			console.log('box3--true')
		},true)
		document.querySelector('.box3').addEventListener('click',()=>{
			console.log('box3--false')
		},false)

ajax:

async javascript and xml;实现局部刷新的一门技术
在浏览器内有一个内置的核心对象 XMLHttpRequest
要使用核心对象:

  1. 实例化核心对象
  2. 建立链接 xhr.open(请求方式,请求地址,同步异步)
示例:流程
// 1. 实例化核心对象
			let  xhr =  new XMLHttpRequest()
			// 2. 建立链接
			xhr.open('GET','https://api.it120.cc/small4/banner/list')
			
			// 3. 发送请求 (可携带参数)
			xhr.send()
			
			// 4. 获取请求的数据
			xhr.onreadystatechange = function(){
				if(xhr.readyState==4 && xhr.status==200){
					console.log(JSON.parse(xhr.response))
				}
			}

js随机数

Math.random() // 获取0-1的随机数
Math.abs() 求绝对值
Math.ceil() 向上取整
Math.floor() 向下取整
Math.round() 四舍五入
console.log(Math.abs(-1))
console.log(Math.round(0.6))

时间戳:

从1970年1-1 0时0分0秒 到目前为止的总秒数 单位毫秒

let numstr = 1663289891077
console.log(new Date(numstr))
setTimeout - 一段时间之后执行一次 setInterval 每隔一段时间之后执行一次
延时的时间不写,大概是4ms

示例:
setTimeout(()=>{
				console.log(1)
			},1000)
			
			setInterval(()=>{
				console.log(2)
			},1000)
			
			
			let _id = setTimeout(()=>{
				console.log(1)
			})
			
			console.log(_id)
			
			clearTimeout(_id)
			
			
			let _id = setInterval(()=>{
				console.log('haha')
			},1000)
			
			setTimeout(()=>{
				clearInterval(_id)
			},4000)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值