第四章 函数

4.1如何调用函数

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function print(par1,par2,par3){
    alert(par1+par2+par3);
    }
</script>
</head>

<body>
<script type="text/javascript">
print("JavaScript函数","调用","方法");
</script>
</body>
image.png

4.2调用自定义函数计算三个参数的平均值

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function setValue(num1,num2,num3){
    var avg=(num1+num2+num3)/3;
    return avg;
    }
    function getValue(num1,num2,num3){
        document.writeln("参数分别为:"+num1+","+num2+","+num3);
        var value=setValue(num1,num2,num3);
        document.write("平均值为:"+value);
        }
</script>
</head>

<body>
<script type="text/javascript">
getValue(60,59,61);
</script>
</body>
image.png

4.3

4.4内置函数

<script type="text/javascript">
var num1="123abc";
var num2="abc123";
document.write("(1)使用parseInt函数<br>");
document.write("123abc转化结果:"+parseInt(num1)+"<br>");
document.write("abc123转化结果:"+parseInt(num2)+"<br><br>");
var num3="123.456abc";
document.write("(2)使用parseFloat函数<br>");
document.write("123.456abc转化结果:"+parseFloat(num3)+"<br><br>");
document.write("(3)使用isNaN函数<br>");
document.write("123.456abc转化结果是否为NaN:"+isNaN(parseFloat(num3))+"<br>");
document.write("abc123转化结果是否为NaN:"+isNaN(parseInt(num2))+"<br><br>");
document.write("(4)使用isFinite函数<br>");
document.write("10除以10的结果是否无穷大:"+isFinite(10/10)+"<br>");
document.write("10除以0的结果是否无穷大:"+isFinite(10/0)+"<br><br>");
document.write("(5)使用encodeURI函数<br>");
document.write("转化为网络资源地址为:"+encodeURI("http://127.0.0.1/index.html?name=测试")+"<br><br>");
document.write("(6)使用decodeURI函数<br>");
document.write("转化为网络资源地址的字符串为:"+decodeURI(encodeURI("http://127.0.0.1/index.html?name=测试"))+"<br><br>");
</script>
image.png

4.5在嵌套函数中获取外部函数参数及全局变量的和

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var outter=300;
function add(num1,num2){
     function innerAdd(){
          alert("参数与全局变量的和为:"+(num1+num2+outter));
         }
         return innerAdd();
    }
</script>
</head>
<body>
<script type="text/javascript">
add(100,200);
</script>
</body>
image.png

4.6递归函数取得10!的值

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function f(num){
     if(num<=1){
         return 1;
         }else{
              return f(num-1)*num;
             }
    }
</script>
</head>
<body>
<script type="text/javascript">
 alert("10!的结果为:"+f(10));
</script>
</body>
image.png

4.7自定义函数,为文本框输入的数字取绝对值

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>为数字取绝对值</title>
<script language="javascript">
 function abso(){
     var num=form.num.value;    //获取文本框的值
     if(isNaN(num)||num==""){
          alert("请输入数字");
         }else{
             if(num>=0){
                 alert(num+"的绝对值是"+num);
                 }else{
             alert(num+"的绝对值是"+num*(-1));
             }
      }
}

</script>
</head>

<body>
<form name="form" method="post" action="#">
 <label>请输入数字:</label>
 <input type="text" name="num" id="num"><br />
 <input type="button" name="sub" value="提交" onclick="abso()"><p>  
</form>
</body>
image.png

4.8随机生成指定位数的验证码

<head>
<title>随机产生指定位数的验证码</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="image/style.css" rel="stylesheet">
<script language="javascript">
function checkCode(digit){
    //自动生成验证码
    var result="";
    for(i=0;i<parseInt(digit);i++){
        result=result+(parseInt(Math.random()*10)).toString();
    }
    return result;
}
</script>
<script language="javascript">
function deal(){
    result.innerHTML="&nbsp;&nbsp;产生的验证码:"+checkCode(form1.digit.value);
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
<table width="271" height="178"  border="0" cellpadding="0" cellspacing="0" background="image/result.gif">
  <tr>
    <td valign="top"><table width="100%" height="150"  border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="15%" height="55">&nbsp;</td>
        <td width="69%" valign="bottom"><div id="result">&nbsp;&nbsp;产生的验证码:</div></td>
        <td width="16%">&nbsp;</td>
      </tr>
      <tr>
        <td height="68">&nbsp;</td>
        <td align="center">
            <br>
            请输入要产生的验证码的位数:<br>
            <br>
            <input name="digit" type="text" class="wenbenkuang" id="digit" value="4">
            (1-15)</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td align="center"><input name="Submit" type="button" class="go-wenbenkuang" value="生成" onClick="deal()">
          &nbsp;
          <input name="Submit2" type="button" class="go-wenbenkuang" value="刷新" onClick="window.location.reload();"></td>
        <td>&nbsp;</td>
      </tr>
    </table></td>
  </tr>
</table>
</form>
</body>
image.png

跟我上机:自定义一个计算产品价格的函数values(),有两个参数cost和profit。代表成本和利润。

<script language="javascript">
function values(cost,profit){
    price=cost+(cost*profit);
    return price;
}
document.write(values(100,0.5));
</script>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352

推荐阅读更多精彩内容

  • 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。 函数对象 JavaScript中的函数就是对象。对象...
    刘三慢阅读 377评论 0 0
  • 最近几天,暴雨密集得很,好几次夜半被窗外的雷声惊醒,明晃晃的闪电忽地射进来时,总是禁不住浑身战栗,心提到嗓子眼,而...
    peek_a_boo阅读 228评论 0 0
  • 大学的时候,女生宿舍嘛,经常会开夜谈跟室友讨论什么时候结婚,找什么样的对象,在没有毕业之前,我一直想的事,...
    这是个傻姑娘阅读 550评论 1 2
  • 这个假期,认真看了一本书,一本叫《空谷幽兰》的书,书的作者是一个叫比尔•波特的美国人。 这个美国人,在哥伦比亚大学...
    甘草子的简书阅读 648评论 3 4