JS中的函数
熟悉JS中的函数
文章目录
前言
掌握函数的基本使用,让代码具有复用能力
理解封装的意义,能够具备封装函数的能力
一、为什么需要函数?
function, 是被设计为执行特定任务
的代码块。
1.1函数的声明
function 函数名() {
函数体
}
//示例
function say() {
document.write('hai~~')
}
1.2函数的调用
- 函数调用语法
// 函数调用,函数体内的代码会被执行
函数名()
注意:声明(定义)的函数必须调用才会被真正的执行,使用()调用函数
函数一次声明可以多次调用,每一次函数调用函数体里面的代码会重新执行一次
1.3函数的使用
function sayHi() {
console.log('嗨~');//函数体
}
sayHi() //函数调用
1.3函数使用示例
//利用函数计算1-100之间的所有累加和
//1.先声明函数
function getsum() {
var sum = 0;
for(var i=1; i <= 100; i ++ ){
sum +=i;
}
console.log(sum);
}
//2.调用函数
getsum(); // 输出5050
1.4函数传参
function getSum(num1,num2) {
document.write(num1+num2);
}
getSum(10,20); //实参
形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)
实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)
形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值
开发中尽量保持形参和实参个数一致
我们曾经使用过的 alert(‘打印’), parseInt(‘11’), Number(‘11’) 本质上都是函数调用的传参
注意,实参和形参匹配的问题
function getsum(num1,num2) {
console.log(num1+num2);
}
//1.如果实参的个数和形参一致,则正常输出结果
getsum(1,2); //3
//2.如果实参的个数多余形参个数,则会取到形参个数
getsum(1, 2 ,3); //3
//3.如果实参的个数小于形参个数,多余的形参定义为undefined 最终的结果就是NaN
// 形参可以看作是不用声明的变量 num2 是一个变量但是没有接受值,结果就是undefined
getsum(1); //NaN
二、有返回值的函数
2.1函数的返回值格式
funtion 函数名() {
return需要返回的结果;
}
函数名();
示例1
// 求任意两个数的和
function getSum(num1,num2) {
return num1 + num2;
}
console.log(getSum(1,2)); //输出3
示例2
//利用函数求数组[5,4,6,89,29]中的最大值。
function getArrMax(arr) {
var max = arr[0];
for (var i=1; i <=arr.length; i ++) {
if (arr[i] > max) {
max=arr[i];
}
}
return max;
}
// 实际开发一般用一个变量来接受函数的返回值
var re=getArrMax([5,4,6,89,29]);
console.log(re);
注意事项
❤return只能返回一个值,如果用逗号隔开多个值,以最后一个为准。
❤ return 后面代码不会再被执行,所以 return 后面的数据不要换行写。
❤return会立即结束当前函数。
2.2函数的arguments属性
所有函数都内置了一个arguments 对象,arguments 对象中存储了传递的所有实参
arguments
是一个伪数组,因此可以进行遍历
- 具有length属性
- 按照索引的方式存储数据
- 不具有数组的push,pop等方法
2.3函数的实例
//利用函数翻转任意数组
function reverse(arr) {
var newArr=[];
for( var i= arr.length-1; i>=0; i--) {
newArr[newArr.length] = arr[i];
}
reture newArr;
}
var arr1=reverse([1,2,3,4,5])
console.log(arr1); // 5,4,3,2,1
三、函数的声明方式
3.1利用函数关键字自定义函数(命名函数)
function fn() {
}
fn() ;
3.2函数表达式(匿名函数)
var 变量名 = function() {};
//示例
var fun = function(aru) {
console.log('我是函数表达式');
console.log(aru);
}
fun ('我爱你');
//1. fun是变量名,不是函数名
//2.函数表达式的声明方式和声明变量差不多,只不过变量里面存的是值,而函数表达式存的是函数
//3.函数表达式也可以进行传递参数
总结
以上就是今天要讲的内容,本文仅仅简单介绍了函数的使用。