JS-3.函数

函数是你可以将一系列语句组织成一个整体,以执行某一特定任务。如果在不同的地方有些任务需要重复执行,可以重用函数(而非重复一组相同的语句),在其他语言中,函数只是语言的语法特性,他们可以被调用,被定义,但却不是数据类型,但是JavaScript中的函数确实真正的数值,这一点使得JavaScript非常灵活,意味着函数可以被存储在变量,数组和对象中,而且函数还可以作为参数传递给其它函数。
为什么要使用函数?
举例:
需求:鼠标悬浮按钮,显示隐藏div
第一步:布局
<input type="button"value="显示隐藏"/>
<div id="div1"></div>
第二步:对style进行设置
#div1{
width: 200px;
height: 200px;
background-color: #eeeeee;
display: none;
}
第三步:利用js来实现功能
<input type="button"value="显示隐藏" οnmοuseοver="document.getElementById('div1').style.display='block'" οnmοuseοut="document.getElementById('div1').style.display='none'"/>
<div id="div1"></div>
此时我们会发现,直接在行间使用js会使得代码的可读性变得很差而且不利于修改,这时,我们可以使用函数来提升可读性以及便于修改。示例如下:
<script>
function showDiv(){
document.getElementById('div1').style.display='block';
}
function hideDiv(){
document.getElementById('div1').style.display='none';
}
</script>
<input type="button"value="显示隐藏" οnmοuseοver="showDiv();" οnmοuseοut="hideDiv();"/>
<div id="div1"></div>
首先看函数是怎么定义的:
function showDiv(){}
function 函数名(){} function是创建函数的关键字,后面跟上你要创建的函数名的名称,可以自己任意取名字,但是尽量用英文来提升可读性。函数名后面跟着一对圆括号来存放参数(暂时为空),圆括号后面跟着一对花括号来存放函数。调用函数时需要:
函数名();例如上述函数中在input标签中的οnmοuseοver=" showDiv();" οnmοuseοut=" hideDiv();"
注意点:再次提出,使用html来布局网页,css调整样式,js实现功能,不要互相混杂。编写语句本着易于修改,可读性高的原则。
函数传参:
上面说到,创建函数时,关键字 函数名 圆括号,那么圆括号可不可以放东西呢?答案是可以的,放的叫参数。举例说明:需求(创建三个按钮,分别可以给div变宽,变高,变成绿色)<html><head><meta charset="utf-8"><title>标题</title><style>#div1{ height:50px; width:50px; background:gray;}</style></head><body><script>function setDiv(name,value){ var a1=document.getElementById('div1'); a1.style[name]=value;}</script><input type="button" value="变宽" οnclick="setDiv('width','100px');"/><button οnclick="setDiv('height','100px');">变高</button><input type="button" value="变绿" οnclick="setDiv('background','green')"><div id="div1"></div></body></html>
当我们不用参数传递方法,用原始方法时,会些很多代码,比如.style.width='100px',.style.height='100px',还需要有.style.background='green';,还需要分别创建三个函数,每个按钮用不同的函数,非常的麻烦。我们使用函数参数传递,创建同一个函数,然后设置不同的参数,就会大大减少编码量。

注意点:在标签中的函数调用中的单引号中得值是字符串,在函数体内的name和value是变量,变量值就是标签中的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值