函数基本概念以及函数关键词
文章目录
前言
函数的含义:通过函数可以封闭任意多条语句,而且可以在任何地方、任何时候调用执行,Script中的函数使用function关键字来声明,后跟一组参数以及函数体。
一、函数
1.函数是什么?
第一,函数就是语言模块,一块一块的,有较强的独立性,可以相互调用。
第二,函数就是一系列代码集合,能完成某个特定的功能。需要该功能的时候直接调用该函数即可,不用每次都堆叠代码。需要修改该功能时,也只需要修改和维护这一个函数即可。
2.函数的必要性
第一,将语句集合成函数的好处是方便代码多次调用。有一些代码的功能是相同的,操作是一样的,只不过针对的数据不一样,这时就可以将这种功能写成一个函数模块,以后用到这个功能时只需要调用这个函数模块就可以了,不需要再重复地编写同样的代码。这样可以解决大量同类型的问题,避免重复性操作。
第二,将语句集合成函数方便代码的维护。哪个功能出问题了,或者需要修改某个功能,那就只需要修改某个功能的函数就可以了。
3.函数的基本应用
3-1.声明函数
声明函数
function 函数名称() {
函数体(就是你要执行的逻辑)
}
函数默认情况是不执行!
如果想执行:调用 -> 函数名称()
3-2.函数分类
1 > 系统函数(方法)
typeof() push() pop() ...
typeof("hello")
2> 自定义函数
JavaScript中给提供了很多系统自带函数,同时允许用户定义自己的函数。用户可将自己的算法编成一个个相对独立的函数模块,然后通过调用来使用这些函数。在实际的编程操作中用得最多的就是自己定义的函数。
1. 无参函数
function 函数名称(){
函数体(就是你要执行的逻辑)
}
2. 有参函数
function 函数名(参数1, 参数2...){
函数体;
}
3. 参数的分类:
形参:定义函数时所声明的参数,就是形参
形参是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中实参的一份临时拷贝。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。
实参:调用函数所传递的参数就是实参。
实际参数(实参)就是真实传给函数的参数
4. 参数的好处:
参数可以让函数变得更加灵活!
function changeBig(str){
var arr = str.split(''); // [a,b,c]
arr[1] = arr[1].toUpperCase();
var res = arr.join('');
console.log(res)
}
changeBig('abc)
C. 参数默认值:
function changeBig(str='abc'){
var arr = str.split(''); // [a,b,c]
arr[1] = arr[1].toUpperCase();
var res = arr.join('');
console.log(res)
}
changeBig("bcd")
changeBig();
带有默认值的参数,一般放在最后一个参数位置!
D. 可变参函数
例:
// 计算任意个数字相加之和!
function add(){
// 函数体中的一个对象!
// arguments // 专门用来接受所有的实参
// console.log(arguments)
var count = 0;
for(var i = 0;i<arguments.length;i++){
count+=arguments[i];
}
console.log(count)
var count = 0;
for(var key in arguments){
count+=arguments[key];
}
console.log(count)
}
add(1,2,5,4)
5.函数声明 函数表达式
函数声明
前面PPT中使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
function 函数名() {javaScript代码}
函数表达式
使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式
// 函数表达式
var add1 = function(num1,num2){
return num1 + num2;
}
6.关于函数的执行问题:
js的程序在执行之前,会进行一次预编译操作,预编译操作都做一些什么事?-> 将全局变量和全局函数定义出来
-
函数表达式和函数声明的区别
函数表达式,会再预编译阶段将函数名字的空间开辟出来,但是,不会将匿名函数的程序体赋值给这块内存空间,所以,如果你提前调用函数表达式,会报错! 函数声明,会再预编译阶段将整个程序都开辟出来,那么,无论你在什么位置去调用函数声明都可以被执行。
-
更推荐哪种写法
更推荐函数表达式写法;
7.(6) 匿名函数
1> 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数
2> 匿名函数的作用
将匿名函数赋值给以变量:函数表达式
赋予一个事件则成为事件处理程序
box.onclick=function(){}
将匿名函数当做参数传递给另一个函数,叫做回调函数!
立即调用匿名函数,防止变量污染。
创建闭包。