Web前端-JS-day04
案例練習
案例1
//求2個數中的最大值
function getMax(num1,num2){
return num1>num2?num1:num2;
}
案例2
//求3個數中的最大值
function getTreeMax(num1,num2,num3){
return x>y?(x>z?x:z):(y>z?y:z);
}
案例3
//判斷是否是素數
function isPrimeNumber(num){
for(var i=2;i<num;i++){
if(num%2==0){
return false;
}
}
return true;
}
案例4
//求一個數組中的最大值
function getArrayMax(array){
var max = array[0];
for(var i=0;i<array.length;i++){
if(max<array[i]){
max = array[i];
}
}
return max;
}
案例5
//求一個數組的最大值、最小值、和
function getArrayMaxAndMinAndSum(array){
var max = array[0];
var min = array[0];
var sum =0;
for(var i=0;i<array.length;i++){
//求和
sum+=array[i];
//最大值
if(max<array[i]){
max = array[i];
}//end if
//最小值
if(min>array[i]){
min = array[i];
}//end if
} //end for
var arr = [max,min,sum];
return arr;
}
案例6
//通過函式實現氣泡排序
function sortArray(arr){
//控制比較的輪數
for(var i=0;i<arr.length-1;i++){
//控制每一輪的比較次數
for(var j=0;j<arr.length-1-j;j++){
if(arr[j] < arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}//end if
}//end for
}//end for
return arr;
}
案例7
//計算不定陣列的和
function f1(){
var sum=0;
//獲取的是函式在呼叫的時候,傳入的引數
//是偽陣列
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
}
f1(10,20,100,200);
//案例8
function f1(){
console.log("哈哈哈,好帥啊");
}
f1();//函式呼叫
// 函式的 呼叫: 函式的程式碼();
//函式表示式,就是把一個函式給一個變數
// var 變數 = 匿名函式;
//注意:匿名函式後面必須加分號
var f2=function(){
console.log("你怎麼知道的??");
};
//匿名函式不能直接呼叫
//變數名()
f2();
8 函式
//函式的自呼叫,沒有名字,呼叫--生命的同時,直接呼叫
//一次性的------可以用來解決衝突的問題
(function(){ console.log("小楊,好帥哦");})();
相當於
var f1 = function(){ console.log("小楊,好帥哦");};
f1();
9 函式的型別--function
function f1(){
console.log("小楊,好帥哦");
};
console.log(typeof f1);
//輸出的是function型別
10 函式作為引數使用
//函式宣告,fn是變數,fn是引數
function f1(fn){
fn();
}
function f2(){
console.log("小楊,好帥哦");
}
f1(f2);
//函式可以作為引數使用,如果一個函式作為引數,那我們說這個引數(函式)可以叫回撥函式
//只要看到一個函式作為引數使用了,那就是回撥函式
11 函式可以作為返回值進行使用
function f1(){
return function(){
console.log("好好");
}
}
var ff=f1();
//ff就是一個函數了
ff();
12 作用域--使用範圍
- 1.塊級作用域:一個大括號可以看成一塊,在這塊區域中定義的變數,只能在這個區域中使用,但是在js中,在塊級作用域中定義的變數,在外面也能使用
說明:js沒有塊級作用域 -
- 區域性變數:在函式內部定義的變數,是區域性變數,外面不能使用
-
- 全域性變數:宣告的變數使用var宣告的,那麼這個變數就是全域性變數,全域性變數可以在頁面的任何位置使用
出來函式以外,在其他任何位置定義的變數都是全域性變數
- 全域性變數:宣告的變數使用var宣告的,那麼這個變數就是全域性變數,全域性變數可以在頁面的任何位置使用
-
- 全域性作用域:全域性變數的使用範圍
-
- 區域性作用域: 區域性變數的使用範圍
-
- 隱式全域性變數:宣告的變數沒有var,就叫隱式全域性變數
-
- 全域性變數是不能被刪除的,隱式全域性變數是可以被刪除的
使用delete 變數名
- 全域性變數是不能被刪除的,隱式全域性變數是可以被刪除的