JavaScript函數調用經典實例代碼

JavaScript函數調用經典例題

1.輸入框判斷是不是閏年

2.隨機數判斷是不是閏年

3.輸入框判斷是不是質數

4.隨機數判斷是不是質數

5.封裝函數,判斷日期是否合法

思考:首先我們采用函數調用的方法,將需要調用的函數都寫在 js 文件夾裡面,調用的時候會更方便。需要註意的是不要忘記在html中引入js.

html代碼:

<body>
    <span>是否為閏年</span>
    <input type="text" id='inp1'>
    <br>
    <span>是否為質數</span>
    <input type="text" id="inp2">
    <br>

    <!-- 外部引入js 文件 -->
    <script src="../js/tools_practice.js"></script>

    <script>
        //調用獲取對象函數
        var oInp1 = get('inp1');

        //判斷是否為閏年
        var year = leap_year(2004) ;
        
        //賦值給輸入框
        if(year){
            oInp1.value = '是閏年' ;
        }
        else{
            oInp1.value = '不是閏年' ;
        }

        //調用隨機數生成一個年份判斷是否為閏年
        var y = rand(1000 , 2000) ;
        var res = leap_year(y) ;
        if(res){
            document.write('隨機數' + y + '是閏年' +'&nbsp;&nbsp;&nbsp;&nbsp;') ;
        }
        else{
            document.write('隨機數' + y + '不是閏年' + '&nbsp;&nbsp;&nbsp;&nbsp;') ;
        }



        //調用函數拿到相關對象
        var oInp2 = get('inp2') ;

        //輸入框判斷是否為質數
        var n = isZhi(14) ;

        //賦值給判斷質數輸入框
        if(n){
            oInp2.value = '是質數'
        }
        else{
            oInp2.value = '不是質數'
        }

        //調用隨機數生成一個數字判斷是否為質數
        var num = rand(0,1000) ;
        var res3 = isZhi(num) ;
        if(res3){
            document.write('隨機數' + num + '是質數' +'&nbsp;&nbsp;&nbsp;&nbsp;') ;
        }
        else{
            document.write('隨機數' + num + '不是質數' +'&nbsp;&nbsp;&nbsp;&nbsp;') ;
        }


        //封裝函數,判斷日期是否合法
        var da = data(1233,1,32) ;
        if(da){
            document.write('日期合法' +'&nbsp;&nbsp;&nbsp;&nbsp;') ;
        }
        else{
            document.write('日期不合法' +'&nbsp;&nbsp;&nbsp;&nbsp;') ;
        }

    </script>
</body>

js代碼:

//功能:判斷某年是否為閏年
//參數:
//   number
//返回值:
//   boolean
function leap_year(x) {
    if (x % 4 === 0 && x % 100 !== 0 || x % 400 === 0) {
        return true;
    }
    return false;
}

//獲取對象
function get(id) {
    return document.getElementById(id);
}

//功能:產生某個范圍內的隨機整數
//參數:
//    min   number   范圍最小值
//    max   number   范圍最大值
//返回值:
//    number
function rand(min, max) {
    return Math.round(Math.random() * (max - min) + min);
}

//功能:判斷一個數是否為質數
//參數 :
//    number
//返回值:
//    boolean
function isZhi(n) {
    for (var i = 2; i < n; i++) {
        if (n % i === 0) {
            return false;
        }
    }
    return true;
}

//功能:判斷日期是否合法
//參數:
//   y   number  年份
//   m   number  月份
//   d   number  日期
//返回值:
//   boolean
function data(y, m, d) {
    //先判斷年 --> 在判斷月 --> 在判斷日期
    //判斷年 :
    if (y >= 1000 && y <= 2000 && y % 1 === 0) {
        //判斷月
        if (m >= 1 && m <= 12 && m % 1 === 0) {
            var maxDay ;
            if (m === 1 || m === 3 || m === 5 || m === 7 || m === 8 || m === 10 || m === 12) {
                maxDay = 31;
            }
            else if (m === 4 || m === 6 || m === 9 || m === 11) {
                maxDay = 30;
            }
            else if (m === 2) {
                if (y % 4 === 0 && y % 100 != 0 || y % 400 === 0) {
                    maxDay = 29;
                }
                else {
                    maxDay = 28;
                }
            }
            //判斷日期
            if(d >= 1 && d <= maxDay && d % 1 === 0){
                return true ;
            }
        }
    }
    return false ;
}

 

JS函數的定義與調用方法

JS函數調用的四種方法:方法調用模式,函數調用模式,構造器調用模式,apply,call調用模式

1.方法調用模式:

先定義一個對象,然後在對象的屬性中定義方法,通過myobject.property來執行方法,this即指當前的myobject 對象。

var blogInfo={

  blogId:123,

  blogName:"werwr",

  showBlog:function(){alert(this.blogId);}

};



blogInfo.showBlog();

2.函數調用模式

定義一個函數,設置一個變量名保存函數,這時this指向到window對象。

var myfunc = function(a,b){
  return a+b;
}

alert(myfunc(3,4));

3.構造器調用模式

定義一個函數對象,在對象中定義屬性,在其原型對象中定義方法。在使用prototype的方法時,必須實例化該對象才能調用其方法。

var myfunc = function(a){
  this.a = a;
};

myfunc.prototype = {
  show:function(){alert(this.a);}
}

var newfunc = new myfunc("123123123");
newfunc.show();

4.apply,call調用模式

var myobject={};
var sum = function(a,b){
  return a+b;
};

var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]); 

alert(sum2);

總結

到此這篇關於JavaScript函數調用的文章就介紹到這瞭,更多相關JavaScript函數調用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: