一.函数的相关概念
1. JavaScript的函数理解为Java里面的方法,
把一些经常复用的代码,抽取出来封装在一个函数中。
提高程序的可读性,减少开发者的工作量,便于后期的维护。
Java中的方法的语法:
public 返回类型 方法名(数据类型 变量名 , 数据类型 变量 ...)
2. js中函数的分类:
A.内置函数(JS提供的): console.log(); alert() confirm parseInt... :
B.自定义函数(程序员自己写的)
其中自定义函数的声明语法如下:
function 方法名(变量名,变量名...)
3. 调用: 方法名(参数列表);
函数定义与调用的编写顺序不分前后。
你可以先调用函数,再声明函数。
二.变量的作用域
1. 和Java一样 JS的变量也分为局部变量和全局变量(Java的叫法是成员变量,只是概念和全局类似)
2. A. 全局变量:在所有函数之外声明(script标签内部的最开始几行),它的作用域称为全局作用域,在同一个页面文件中的所有脚本内都可以使用。
B. 局部变量:在函数体内利用var关键字声明的变量称为局部变量,仅在该函数体内有效。
三.函数的进阶
1. 函数的声明 一般就是上面两个知识点即可.就是利用function声明
2. 不仅有函数 还有一个叫做函数表达式的东西
函数表达式指的是将函数赋值给变量的表达式,
通过“变量名()”的方式即可完成函数的调用,小括号“()”内可以传入参数,示例代码如下。
函数的写法:
function a1(a){
console.log("我被调用了。参数是" + a)
}
a1(123);
函数表达式的写法:
var abc = function (a){
console.log("我被调用了。参数是" + a)
};
abc(567);
四.匿名函数
1. 匿名函数自调用:HTML页面解析之后 自动执行的一段代码.只会执行一次.
例如跳转网页之后提示:登录成功 加载成功
语法如下:
(function(){
alert("登录成功!!!");
})();
下面是函数叫做a的函数
function a(){
alert(123);
}
匿名函数指的就是:没有函数名的函数 但是又拥有了变量名
var a = function(){
alert(456)
}
五.箭头函数
和函数表达式一样 比较鸡肋, 但是需要能看懂它.
以下3个函数的实际意义完全一样.
function sum(a,b){
return a + b;
}
var fn = (a, b) => a + b;
var fn = (a,b) => {
return a + b;
};
六.递归函数
递归函数:函数的内部调用自己函数本身.
优点:代码简化.
例如声明一个函数 求1-N的和
function sum(n){
var sum = 0;
for(var i = 1 ;i<=n;i++){
sum = sum + i;
}
return sum;
}
var i = sum(100);
alert(i);
递归的核心1:鸿沟(临界值)
function sumDg(n){
if(n==1){
return 1
}else{
return n + sumDg(n-1);
}
}
alert(sumDg(100));