定义函数:
function 函数名(){
函数体
}
函数参数:(形参和实参)
形参:函数定义时()里面的变量,该变量可以在函数体中使用,形式参数里的数据来源于实际参数
实参:是指在函数调用时写在()中具体的数据,在函数调用时,实际参数把数据传给形式参数。
在函数体中执行时候,让形式参数里有具体的数据
eg:调用函数找出数组最大值 arr1 =[1,4,8,5,2]; arr2 =[1,4,6,7,8,9]; arr3 =[2,5,6,3,8,9]; function getArrayMax(array) { var max =array[0]; for(var i=0;i<array.length;i++) { if(max<array[i]) { max =array[i]; } } document.write(max+"<br>"); } getArrayMax(arr1); getArrayMax(arr2); getArrayMax(arr3);
多个参数:(没有数量限制,形式参数和实际参数书写顺序一致)
eg: 定义一个函数,计算x的y次方 function pow (num1,num2) { //次方计算 } pow(2,3);//num1为2,num2为3
返回值(return):函数的一种数据输出机制,我们可以通过返回值实现将函数里面的数据传递到函数的外面,即函数调用后我们可以继续使用函数里的数据。(默认返回值为未定义)
function 函数名() { return 要返回的数据;//表示函数调用后要返回的值 } var 变量名 = 函数名();//函数调用时,用变量进行接收,变量保存的数据就是return的值 eg: function add(num) { var sum =num+5; return sum; }; var s=add(10); document.write(s);//15
妙用:
- 执行return时候,会终止当前函数调用,该次函数调用,剩余的代码不执行。
- 对函数传入的数据进行检测,提高函数的健壮性,健壮性越高,代码质量越好,即bug少
- 提前终止执行
arguments
概念:针对每个函数内部的一个类数组对象,实现函数调用时保存所有的实际参数
作用:函数调用时保存所有实际参数
使用:只能在函数体里面使用
特点:1、类数组可以实现遍历操作。通过下标来使用arguments里的数据,但不能添加、修改操作。
function demo() { console.log(arguments); } eg: function num() { document.write(arguments[0]); //将第一个数据传递进来 } num(1, 2, 3, 4, 5);
应用:自定义函数,如果实际参数数量不固定,那么可以 使用arguments及遍历获取每一个实际参数来处理(模拟push、任意字符串拼接)
箭头函数(ES6)
ES6提供新的定义函数的语法
作用:代码简洁
语法:
var 函数名= (形式参数)=>{ 函数体 }
- 箭头函数调用和普通函数无区别
- 箭头函数只能是定义后才能使用
- 如果箭头函数只有一句return代码,可以省略关键字以及{}
var add=(num1,num2)=>num1+num2;
- 如果箭头函数只有一个形式参数,那么包围形式参数的()可以省略不写
var add=num1=>num1+num2;
eval函数(内置函数)
把某个字符串作为js代码执行并返回执行结果
语法:
var num =eval("2+2"); document.write(num);//4
substr\substring 内置函数
字符串内置api,用于获取字符串一部分字符
语法:
substr
字符串.substr(字符串开始下标,字符串字符数量) //获取hello var str ="hello word"; var newArr=str.substr(0,5); document.write(newArr)//hello //获取hello word var newArrs=str.substr(0,str.length-1); document.write(newArrs)//hello
substring(不包含结束下标)
字符串.substrimg(字符串开始下标,字符串结束下标) //获取hello var str ="hello word"; var newArr=str.substring(0,5); document.write(newArr)//hello //获取hello word var newArrs=str.sbustring(0,str.length-1); documet.write(newArrs);
a