今天學了什么
1數(shù)組的增添
var arr = [1,2]
//push() 方法可向數(shù)組的末尾添加一個或多個元素虚循,并返回新的長度芥驳。
// console.log(arr.push(3))
// pop()方法可向數(shù)組的末尾刪除并返回數(shù)組的最后一個元素
// arr.pop()
/ / unshift() 方法可向數(shù)組的開頭添加一個或更多元素钉寝,并返回新的長度吓妆。
// console.log(arr.unshift(1,2,3,4))
// shift() 方法用于把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值猎塞。
// console.log(arr.shift())
2.數(shù)組最大值最小值
var arr=[10,4,48,56,3,2]
// arr.sort(function(a,b){
// return a-b
// })
字符串比較
var arr1=["2a","15a","8a","10a"]
arr1.sort(function(a,b){
return parseInt(a)-parseInt(b)
})
3.冒泡排序
var arr=[2,8,102,3,54,445,5]
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-1;j++){
if(arr[j]<arr[j+1]){
var a=arr[j]
arr[j]=arr[j+1]
arr[j+1]=a
}
}
}
4.排他思想
(for循環(huán)綁事件 for干掉所有人 保留自己 this 诗舰,
// btn 想控制對應 div 保存索引的思想 :給所有的btn(btn[i])都添加一個屬性
// index 把 i 賦值給index
// 給div 加背景色
var arr = ["red","green","yellow","blue"];
var btn = document.getElementsByTagName("button");
var div = document.getElementById("box").getElementsByTagName("div");
for(var i =0;i<div.length;i++){
div[i].style.background = arr[i];
div[i].innerHTML = i;
div[i].style.fontSize = "100px";
}
for(var i =0;i<btn.length;i++){
// 給所有的btn 綁定了一個點擊事件 , 點擊之后 彈出 i
// 把i賦值給 一個變量(給每一個btn添加一個index 屬性竿奏。保存對應的索引值)
btn[i].index = i;
btn[i].onclick = function () {
// alert(this.index)
// 綁定事件 的 function 里面的 i 是跳出循環(huán) i
// alert(i)
// 干掉所有人
for(var i = 0;i<btn.length;i++){
btn[i].style.background = "";
div[i].style.display = "none";
}
// 保留自己(事件綁定中this永遠指向事件的調用者)
this.style.background = "green"
// 點擊btn 操作 div 時袄简, 要想到借用 btn 的索引值(定義一個變量 保存索引值)
div[this.index].style.display = "block"
}
}
5.className
className
// 在樣式里面style class 類名
//js 操作的時候
//div.className = "class 類名 "
//div.style. 只不過 優(yōu)先級問題
函數(shù)
1.定義函數(shù)
//創(chuàng)建一個函數(shù)
//第一種方式創(chuàng)建
function fn(){
alert(1)
}
//調用一個函數(shù)(讓函數(shù)執(zhí)行) 函數(shù)名+括號
第二種
var a=function fn(){
alert(1)
}
// 函數(shù) 相當于 工具
// 不用的話 沒有意義 ,可以重復的用
聲明提升
console.log(a)
// 這種可以訪問函數(shù)體
// function a(a,b){
// return a+b
// }
// 這種不提升,相當于提升一個變量a
// var a=function(a,b){
// return a+b
// }
// 聲明的變量會提升,但是賦值不會提升,在上面輸出a會出來undefined
var a=1
階乘和函數(shù)
var a=prompt("請輸入")
function cj(a){
var dd=1
for(var i=1;i<=a;i++){
dd=dd*i
// 求階乘
}
return dd
}
console.log(cj(a))
套用函數(shù)
function su(a){
var sum=0;
求階乘的和
for(var i=1;i<=a;i++){
sum+=cj(i)
}
return sum
}
console.log(su(a))