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>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章