今天学了什么
1数组的增添
var arr = [1,2]
//push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
// console.log(arr.push(3))
// pop()方法可向数组的末尾删除并返回数组的最后一个元素
// arr.pop()
/ / unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
// console.log(arr.unshift(1,2,3,4))
// shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
// console.log(arr.shift())
2.数组最大值最小值
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循环绑事件 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 是跳出循环 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. 只不过 优先级问题
函数
1.定义函数
//创建一个函数
//第一种方式创建
function fn(){
alert(1)
}
//调用一个函数(让函数执行) 函数名+括号
第二种
var a=function fn(){
alert(1)
}
// 函数 相当于 工具
// 不用的话 没有意义 ,可以重复的用
声明提升
console.log(a)
// 这种可以访问函数体
// function a(a,b){
// return a+b
// }
// 这种不提升,相当于提升一个变量a
// var a=function(a,b){
// return a+b
// }
// 声明的变量会提升,但是赋值不会提升,在上面输出a会出来undefined
var a=1
阶乘和函数
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))
套用函数
function su(a){
var sum=0;
求阶乘的和
for(var i=1;i<=a;i++){
sum+=cj(i)
}
return sum
}
console.log(su(a))