JavaScript函數(shù)調(diào)用經(jīng)典實(shí)例代碼
JavaScript函數(shù)調(diào)用經(jīng)典例題
1.輸入框判斷是不是閏年
2.隨機(jī)數(shù)判斷是不是閏年
3.輸入框判斷是不是質(zhì)數(shù)
4.隨機(jī)數(shù)判斷是不是質(zhì)數(shù)
5.封裝函數(shù),判斷日期是否合法
思考:首先我們采用函數(shù)調(diào)用的方法,將需要調(diào)用的函數(shù)都寫在 js 文件夾里面,調(diào)用的時(shí)候會(huì)更方便。需要注意的是不要忘記在html中引入js.
html代碼:
<body>
<span>是否為閏年</span>
<input type="text" id='inp1'>
<br>
<span>是否為質(zhì)數(shù)</span>
<input type="text" id="inp2">
<br>
<!-- 外部引入js 文件 -->
<script src="../js/tools_practice.js"></script>
<script>
//調(diào)用獲取對象函數(shù)
var oInp1 = get('inp1');
//判斷是否為閏年
var year = leap_year(2004) ;
//賦值給輸入框
if(year){
oInp1.value = '是閏年' ;
}
else{
oInp1.value = '不是閏年' ;
}
//調(diào)用隨機(jī)數(shù)生成一個(gè)年份判斷是否為閏年
var y = rand(1000 , 2000) ;
var res = leap_year(y) ;
if(res){
document.write('隨機(jī)數(shù)' + y + '是閏年' +' ') ;
}
else{
document.write('隨機(jī)數(shù)' + y + '不是閏年' + ' ') ;
}
//調(diào)用函數(shù)拿到相關(guān)對象
var oInp2 = get('inp2') ;
//輸入框判斷是否為質(zhì)數(shù)
var n = isZhi(14) ;
//賦值給判斷質(zhì)數(shù)輸入框
if(n){
oInp2.value = '是質(zhì)數(shù)'
}
else{
oInp2.value = '不是質(zhì)數(shù)'
}
//調(diào)用隨機(jī)數(shù)生成一個(gè)數(shù)字判斷是否為質(zhì)數(shù)
var num = rand(0,1000) ;
var res3 = isZhi(num) ;
if(res3){
document.write('隨機(jī)數(shù)' + num + '是質(zhì)數(shù)' +' ') ;
}
else{
document.write('隨機(jī)數(shù)' + num + '不是質(zhì)數(shù)' +' ') ;
}
//封裝函數(shù),判斷日期是否合法
var da = data(1233,1,32) ;
if(da){
document.write('日期合法' +' ') ;
}
else{
document.write('日期不合法' +' ') ;
}
</script>
</body>
js代碼:
//功能:判斷某年是否為閏年
//參數(shù):
// 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);
}
//功能:產(chǎn)生某個(gè)范圍內(nèi)的隨機(jī)整數(shù)
//參數(shù):
// min number 范圍最小值
// max number 范圍最大值
//返回值:
// number
function rand(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
//功能:判斷一個(gè)數(shù)是否為質(zhì)數(shù)
//參數(shù) :
// number
//返回值:
// boolean
function isZhi(n) {
for (var i = 2; i < n; i++) {
if (n % i === 0) {
return false;
}
}
return true;
}
//功能:判斷日期是否合法
//參數(shù):
// 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函數(shù)的定義與調(diào)用方法
JS函數(shù)調(diào)用的四種方法:方法調(diào)用模式,函數(shù)調(diào)用模式,構(gòu)造器調(diào)用模式,apply,call調(diào)用模式
1.方法調(diào)用模式:
先定義一個(gè)對象,然后在對象的屬性中定義方法,通過myobject.property來執(zhí)行方法,this即指當(dāng)前的myobject?對象。
var blogInfo={
blogId:123,
blogName:"werwr",
showBlog:function(){alert(this.blogId);}
};
blogInfo.showBlog();
2.函數(shù)調(diào)用模式
定義一個(gè)函數(shù),設(shè)置一個(gè)變量名保存函數(shù),這時(shí)this指向到window對象。
var myfunc = function(a,b){
return a+b;
}
alert(myfunc(3,4));
3.構(gòu)造器調(diào)用模式
定義一個(gè)函數(shù)對象,在對象中定義屬性,在其原型對象中定義方法。在使用prototype的方法時(shí),必須實(shí)例化該對象才能調(diào)用其方法。
var myfunc = function(a){
this.a = a;
};
myfunc.prototype = {
show:function(){alert(this.a);}
}
var newfunc = new myfunc("123123123");
newfunc.show();
4.apply,call調(diào)用模式
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);
總結(jié)
到此這篇關(guān)于JavaScript函數(shù)調(diào)用的文章就介紹到這了,更多相關(guān)JavaScript函數(shù)調(diào)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
比較詳細(xì)的關(guān)于javascript中void(0)的具體含義解釋
比較詳細(xì)的關(guān)于javascript中void(0)的具體含義解釋...2007-08-08
JS實(shí)現(xiàn)兩個(gè)大數(shù)(整數(shù))相乘
大數(shù),即超出語言所能表示的數(shù)字最大范圍的數(shù)字,那么如何實(shí)現(xiàn)兩個(gè)大數(shù)相乘呢?下面有個(gè)不錯(cuò)的方法,大家可以參考下2014-04-04
javascript消除window.close()的提示窗口
有人問起,怎么去掉js調(diào)用window.close()時(shí)怎么去掉那可惡的提示,咋一看好像還真不好弄,IE的安全機(jī)制好像就不允許通過腳本關(guān)閉本頁面,但是IE好像可以允許js關(guān)閉彈出窗口,那我們是不是可以通過一定的技巧欺騙一下IE,繞過去呢。鼓搗了幾下,似乎還真可以做到2015-05-05
微信小程序視圖容器(swiper)組件創(chuàng)建輪播圖
這篇文章主要為大家詳細(xì)介紹了微信小程序視圖容器(swiper)組件創(chuàng)建輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
axios/fetch實(shí)現(xiàn)stream流式請求示例詳解
這篇文章主要為大家介紹了axios/fetch實(shí)現(xiàn)stream流式請求示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
動(dòng)態(tài)加載JavaScript文件的3種方式
第一種是使用document.write/writeln()方式,第二種使用jQuery,第三種是使用原生js方法,感興趣的小伙伴們可以參考一下2018-05-05

