A
實參 形參
<script type="text/javascript">
// 當函數(shù)的參數(shù)個數(shù)無法確定的時候:用 arguments
function fn(a){
// 形參的長度 (函數(shù)名.length)
// console.log(fn.length)
// arguments 就是實參的集合 也是(類似數(shù)組的集合) 偽數(shù)組
// 實參的長度
console.log(arguments.length)
console.log(arguments[0])
console.log(arguments[arguments.length - 1])
}
fn(1,2,3,4,4)
// getElementsByTagName("")[0]
// getElementsByTagName("")[1]
function fn(){
for(var i =1;i<=arguments[0];i++){
console.log(i)
}
}
fn(7)
argument
<script>
// 課后練習:
//alert( fn1( 7 ) ); // [ 1,2,3,4,5,6,7 ]
/*
拿到1-7 , 想到for循環(huán);
向數(shù)組添加元素 就要先有個數(shù)組 ,創(chuàng)建一個數(shù)組 , 把剛才拿到的1-7 添加(push)到數(shù)組里面
wo 需要這個函數(shù) 做什么 就是上面 那些
返回什么
return 跟著什么 。 函數(shù)的結(jié)果(值)就是什么
形參 a,b 給實際傳進來的實參 1和100 站位置
*/
// function fn2(a,b){
// var arr = [];
// for(var i=a;i<=b;i++){
// arr.push(i)
// }
// return arr
// }
// alert( fn2(2, 5) ); // [ 2,3,4,5 ]
// function fn2(){
// var arr = [];
// for(var i = arguments[0];i<=arguments[1];i++){
// arr.push(i)
// }
// return arr;
// }
// var a = fn2(2, 15)
//alert( sum( 1,2,3,10 ) ); // 16
// alert( sum( 1,2,3,4 ) ); // 10
// function fn3() {
// var sum = 0;
// for(var i = 1;i<5;i++){
// sum +=i
// }
// return sum;
// }
// var a = fn3()
/*----------arguments----------------------------------*/
// function sum() {
// var sum = 0;
// for(var i = 0;i<arguments.length;i++){
// sum +=arguments[i]
// }
// return sum;
// }
// var a = sum(1,2,3,10,11)
//arguments 理解為 arr = [1,2,3,10]
// 課后練習:
// alert( sum( 1,2,3 , '+' ) ); // 6
// alert( sum( 10,2,3,4, '-' ) ); // 1
// function sum() {
// if(arguments[arguments.length-1]==="+"){
// var sum = 0;
// for(var i = 0;i<arguments.length-1;i++)
// {
// // console.log(arguments[i])
// sum += arguments[i]
// }
// return sum
// }
// else if(arguments[arguments.length-1]==="-"){
// var a = arguments[0]
// for(var i = 1;i<arguments.length-1;i++){
// console.log(arguments[i])
// a -= arguments[i]
// }
// return a;
// }
// }
// var b = sum( 1,2,3 , '+' )
// var b = sum( 100,2,3 , '-' )
/*
argument 元素 能不能用 冒泡 排序
*/
</script>
while循環(huán)
// while循環(huán)
// 只要指定條件為 true,循環(huán)就可以一直執(zhí)行代碼。
// while (條件)
// {
// 需要執(zhí)行的代碼
// }
// var i = 0;
// while(i<5){
// console.log(1);
// i++;
// }
//
// 1-100的和
// var sum = 0;
// var i= 1;
// while(i<=100){
// sum+=i;
// i++
// }
// 1-100 添加到數(shù)組
//
// var i= 1;
// var arr = [];
// while(i<=100)
// {
// arr.push(i)
// i++;
// }
// do/while 循環(huán)是 while 循環(huán)的變體。該循環(huán)會執(zhí)行一次代碼塊,在檢查條件是否為真之前,然后如果條件為真的話,就會重復這個循環(huán)。
// do
// {
// 需要執(zhí)行的代碼
// }
// while (條件);
// do{
// var bool = confirm("你確定嫁給你前端了嗎")
// if(bool){
// alert("那就好好學習把")
// }
// }while(!bool)
// var a = 1;
// do{
// console.log(a);
// a++;
// }while(a<10)
// break立即跳出循環(huán)
// continue立即跳過本次循環(huán)
var i = 0;
var arr = [];
var arr1 = [];
while(i<=10){
i++;
if(i%2==1){
continue;
arr1.push(i)
}
arr.push(i)
}
</script>
插入排序
<script type="text/javascript">
// 插入排序
var arr = [212,222,2213,2231,22221,2221]
// //temp變量用于臨時存儲待插入元素
// //將大于temp的arr[j]元素后移
for(var i = 1;i<arr.length;i++){
var temp = arr[i];
while(i>0 && temp < arr[i-1]){
// 前一項賦值給當前項(移位)
arr[i] = arr[i-1];
i--;
}
document.write(i+"<br>")
// 歸位
arr[i] = temp;
}
</script>
arguments 元素能不能 冒泡排序
<script type="text/javascript">
function fn() {
// for(var i = 0;i<arguments.length-1;i++){
// for(var j=0;j<arguments.length-1-i;j++){
// if(arguments[j]>arguments[j+1]){
// var temp = arguments[j+1];
// arguments[j+1] = arguments[j];
// arguments[j] = temp;
// }
// }
// }
console.log(Array.isArray(arguments))
// 需要把 偽數(shù)組 轉(zhuǎn)成 真正的數(shù)組
var a = Array.prototype.slice.apply(arguments)
console.log(Array.isArray(a))
var arr = a.sort(function(a,b){return a-b})
return arr
}
var a = fn(5,3,4,10,2)
</script>
數(shù)組的方法
<script type="text/javascript">
// join
//
// var arr = [1,2,3,4,5];
//1、 數(shù)組轉(zhuǎn)字符串 2、分割(連接、合并)
// var a = arr.join()
// var b = arr.join("|")
// var c = arr.join("A")
// var d = arr.join("")
// fn(2,3) 246 = 2+22+222
// function fn(a,b){
// var str = "";
// var arr = [];
// // 第一次循環(huán)的時候,就把str 添加到數(shù)組里面
// for(var i =0;i<b;i++){
// // 第一次循環(huán)的時候 str 變成 2+"" 就是 "2"
// str += a;
// arr.push(str)
// }
// return arr.join("+")
// }
// splice()
// splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。
// (index從第幾個開始刪除,刪除幾個,添加的元素(第三個參數(shù)可以沒有,就是不添加))
// arr.splice(1,1);
// arr.splice(1,2);
// arr.splice(1,1,800);
// 從第三項開始可以傳無限多,就是添加的元素
// arr.splice(1,1,8,9,9,9,9,9,9,10);
/*
不要和冒泡排序混了
兩個for循環(huán),循環(huán)拿出元素 和 之后的所有項比較
如果相同 就是干掉 (splice) splice(j,1)
每干掉一個元素后 ,循環(huán)次數(shù)減一
*/
/*
for 還是不懂 , 打斷點看看
*/
// var arr = [1,1,1,2,3,4,51,2,3,4,5];
// for(var i = 0;i<arr.length;i++){
// for(var j=i+1;j<arr.length;j++){
// if(arr[i] == arr[j]) {
// arr.splice(j,1)
// j--;
// }
// }
// }
</script>