JavaScript高级

01.数组的操作方法

var arr = [1,2,3,4,'哈哈哈']
alert(arr.join('-'))    // 输出 1-2-3-4-哈哈哈

//数组push()
//在数组最后追加数据
alert(arr.push('呵呵呵'))  //这里返回数组的长度
// 正确输出
// 添加数组注意: 都是在添加完元素之后,再打印数据
arr.push('哈哈哈')
alert(arr)

// pop()   删除数组的最后一个元素, 返回值:你删除的那条数据
alert(arr.pop())

//  splice()  在数组中的某个位置增加或删除成员
var aList = [1,2,3,4]
aList.splice(2,1,7,8,9,4)  //

var arr = [1,2,3,4,'哈哈哈']
//  第一个参数: 从第几位开始。第二个参数:删除多少个。后面参数代表你要添加的内容
arr.splice(2,2,3,7,8,9)   // 输出 1,2,3,7,8,9,哈哈哈



// reverse()数组反转
var arr = [1,2,3,4,'哈哈哈']
arr.reverse()   //输出 哈哈哈,4,3,2,1

//  indexOf() 返回该数据在数组中,第一次出现的索引值, 如果后面有数据,那就不管了
alert(arr.indexOf(2))

02.多维数组

var = [1,2,3,4, ''哈哈哈]
var arrs = [[1,2][3,4]]   //輸出 1,2,3,4

//多維數組輸出單個元素
alert(arrs[1][0])

03.for 循环

循环作用:重复执行某些程序。便利数据

//  for(初始值;循环次数; 增量)
for(var i = 0;i<5; i++){
	alert('hello')
    // i = 0 0<5  执行加1
    // i = 1 1<5  执行加1
    // i = 2 2<5  执行加1
    // i = 3 3<5  执行加1
    // i = 4 4<5  执行加1
    // i = 5 5<5  不执行
}

案例一:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<ul id="list">
			<!--<li>钢铁侠3</li>
			<li>蜘蛛侠3</li>
			<li>前任3</li>
			<li>我不是程序员</li>
			<li>葫芦娃</li>-->

		</ul>
	</body>
	<script type="text/javascript">
		var alist1 = document.getElementById('list')
		var movie =['钢铁侠3','蜘蛛侠3','前任3','我不是程序员','葫芦娃']
		
		for(var i = 0; i < movie.length; i++){
			alist1.innerHTML += '<li>' + movie[i] + '</li>'
		}
	</script> 
</html>

04.数组去重

数组去重,把重复数据删掉

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		var alist1= [1,2,3,4,4,3,2,1,2,3,4,5,6,5,5,3,3,4,2,1]
		var alist2 = []
		for (var i = 0; i < alist1.length; i ++){
			// 判断: 如果我当前的这条数据的第一次出现所以只 ==i
			// 就把这条数据添加进那个新的数组中
			if (alist1.indexOf(alist1[i]) == i){
				alist2.push(alist1[i])
			}
		}
		alert(alist2)
	</script>
</html>

javascript 用单引号,html用双引号,避免用JavaScript拼接html时出现错误。

05-JavaScript对象

对象有花括号分隔。在括号内部,对象的属性以名称和值的形式(name:value)来定义。属性由逗号分隔:

var person = {firname:'John', lastname:'Doe', id:5566};

06-入口函数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			// 入口函数。 作用: 等整个页面加载完毕之后的事件
			// 入口js要卸载body上面,要加上入口函数
			// 如果代码在body下面,不需要加入入口函数
			window.onload = function(){
				//js寻找页面元素,从上面寻找的
				var oBox = document.getElementById('box')
				oBox.onclick = function(){
					// this 代表当前事件源
					this.style.color = 'red'
				}
			}
		</script>
	</head>
	<body>
		<div id="box">
			文字文字
		</div>
	</body>
	<script type="text/javascript">
		for( var i =0; i < 3; i ++){
			console.log(i)
		}
	</script>
</html>

07-变量作用域

var tv = '好点十'  // 全局变量: 所有的函数都能用
function wang(){
// var tv = '你好'
tv = '坏电视'
alert(tv)
}

function my(){
alert(tv)
}
wang()
my()

08-定时器基础

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="button" value="开启单次定时器" id="btn1" />
		<input type="button" value="开启多次定时器" id="btn2" />
		<input type="button" value="关闭单次定时器" id="btn3" />
		<input type="button" value="关闭多次定时器" id="btn4" />
	</body>
	<!--定时器作用:多少毫秒之后,要执行什么程序-->
	<script type="text/javascript">
		var oBtn1 = document.getElementById('btn1')
		var oBtn2 = document.getElementById('btn2')
		var oBtn3 = document.getElementById('btn3')
		var oBtn4 = document.getElementById('btn4')
		
		//关闭定时器要点:
//		1.在全局声明一个空的变量
//		2.把此变量以修改的方式,赋值给定时器
//		3.后面关闭定时器,就能选中此定时器
		
		var dan = null;   //在全局声明一个空的变量
		var duo = null;
		
		//开启单次定时器 。只执行一次
		oBtn1.onclick = function(){
			//把全局变量以修改的方式,赋值给定时器
			dan = setTimeout(function(){
				//2000毫秒之后,执行什么程序,就在这里写
				alert('炸了')
			},2000)
		}
		
		//开启多次定时器。重复执行的,永远不会停
		oBtn2.onclick = function(){
			duo = setInterval(function(){
				alert('炸了')
			},2000)
		}
		
		//关闭单次定时器
		oBtn3.onclick = function(){
			//这样就能选中对应的定时器
			clearTimeout(dan)
		}
		
		//关闭多次定时器
		oBtn4.onclick = function(){
			//这样就能选中对应的定时器
			clearInterval(duo)
		}
	</script>
</html>

09-跑步动画

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			body{
				background:#c7c7c7;
			}
			img{
				width:250px;
				position:absolute;
				left:0;
				top:200px;
			}
		</style>
	</head>
	<body>
		<input type="button" value="走你" id="go" />
		<input type="button" value="停下" id="stop" />
		<img src="a.jpg" id="pic">
	</body>
	<script type="text/javascript">
		var oGo = document.getElementById('go')
		var oStop = document.getElementById('stop')
		var oPic = document.getElementById('pic')
		
		var num = 0
		
		var run = null
		
		oGo.onclick = function(){
			clearInterval(run)   //解决排队机制问题。先关闭定时器,再开启定时器,避免用户重复点击,造成的动画排队问题
			run = setInterval(function(){
				num+=4    //++ 代表每次加1     +=6  每次加6
				oPic.style.left = num + 'px'
			},80)//关于时间问题:不要低于80毫秒,低于会容易出问题
		}
		
		oStop.onclick = function(){
			clearInterval(run)
		}
	</script>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值