网络编程
位置:首页>> 网络编程>> JavaScript>> JavaScript函数调用经典实例代码

JavaScript函数调用经典实例代码

作者:小高今天早睡了吗?  发布时间:2024-09-08 09:23:04 

标签:js,函数,调用

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);

来源:https://blog.csdn.net/m0_55710075/article/details/121867995

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com