正则一 标签(空格分隔): JS
练习:
需求1:页面上有3个计数器,分别实现点击-文本框内的数字-1;点击+,文本框内的数字+1。其中数字最小为0,最大为4。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="item">
<button>-</button>
<input type="text" value="0">
<button>+</button>
</div>
<div class="item">
<button>-</button>
<input type="text" value="0">
<button>+</button>
</div>
<div class="item">
<button>-</button>
<input type="text" value="0">
<button>+</button>
</div>
需求2:封装一个函数,参数为一个数组和一个布尔值,如果是true,那么就是求最大值,否则就是求最小值。
函数参数
形参:就是函数定义时候的参数
实参:就是函数执行时候传入的参数
函数的形参和实参不一定是一一对应的,在调用函数的时候可以传入任意多个实参。
函数的属性:
fn.length: 代表函数形参的个数
arguments: 函数内部的一个属性,它的类型是一个类数组,它的作用就是用来保存实参的集合。
关于arguments 函数之所以可以传入任意多个实参,实际上最终保存的地方都在这个类数组中。
函数的返回值 return的作用:
用来指定函数的返回值,return后面是什么,那么函数执行的结果就是什么。
return 后面的代码不会再继续执行,也就说它有终止函数执行的作用。
练习:
需求1:页面上有3个计数器,分别实现点击-文本框内的数字-1;点击+,文本框内的数字+1。其中数字最小为0,最大为4。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="item">
<button>-</button>
<input type="text" value="0">
<button>+</button>
</div>
<div class="item">
<button>-</button>
<input type="text" value="0">
<button>+</button>
</div>
<div class="item">
<button>-</button>
<input type="text" value="0">
<button>+</button>
</div>
需求2:封装一个函数,参数为一个数组和一个布尔值,如果是true,那么就是求最大值,否则就是求最小值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function result(arr, type){
var n;
if(type){
n = -Infinity;
}else{
n = Infinity;
}
for(var i=0; i<arr.length; i++){
if(type){
if(n < arr[i]){
n = arr[i];
}
}else{
if(n > arr[i]){
n = arr[i];
}
}
}
return n;
}
var res = result([1,2,3,4]);
console.log(res);
需求3:封装一个求和函数
1
2
3
4
5
6
7
8
9
function sum(){
var res = 0;
for(var i=0; i<arguments.length; i++){
res += arguments[i];
}
return res;
}
console.log(sum(1,2,3,4,3434,657,34,65,234,65));
函数表达式
理解函数也是一种数据,可以向其它数据一样存放再变量中。
1
2
3
4
5
6
7
var fn = function (a,b){
var c = a + b;
return c;
};
var res = fn(1,2);
console.log(res);
函数表达式和函数声明的区别
函数声明的函数,可以在任意地方去调用。而函数声明,只能在声明函数之后去调用这个函数。
fuqiang@miaov.com