函数

2018-09-25  本文已影响0人  致自己_cb38

1. 函数(方法):

2. 函数的定义(申明):

函数的定义并不会执行函数,函数生效是在调用的地方。

function name(){
    
}
var func = function(){
    
};

Odiv.onclick = function(){
    
};
var func = new Function(a,b,c,'return a+b;')
var func = function(a,b,c){
    return a+b;
}

3.函数的重复申明

函数的重复申明类似于变量的重复赋值,后面的会覆盖前面的。所以生效的永远是后面的函数。

4. 函数的提升

5.()

6. 函数的参数

7. 作用域

8.返回值。

一个函数是实现某一个功能的,实现了没有怎么判断?
计算任意一个数及小于这个数的所有数字的和。
eg:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
function sum(n){
    var sum = 0;
    for(var i=1;i<n+1;i++){
        sum+=i;
    }
    return sum;
}
console.log(sum(10000));
</script>
</body>
</html>

9.函数申明的优先级

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
function a(){
    console.log(2);
}
var a = function(){
    console.log(1);
};
a(); //1
</script>
</body>
</html>

10.不要在if以及所有判断里面申明函数。

11.函数的属性以及方法。

12.参数

13.参数的传递方式


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
var a  = 100;
function s(m){
    console.log(m);
    console.log(a);
    m =  0;
    console.log(m);
    console.log(a);
}
s(a);
console.log(a);
console.log(m);
</script>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
var zhangsan = {};//对象
zhangsan.age = 18;
zhangsan.height = 178;
zhangsan.weight = 180;
function s(b){
    b.age = 22;
}
s(zhangsan);
console.log(zhangsan.age); //22
</script>
</body>
</html>

14.arguments对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
function max(){
    var s = arguments;
    var max = s[0];
    for(var i=1;i<s.length;i++){
        if(s[i]>max){
            max = s[i];
        }
    }
    return max;
}
console.log(max(2,5,8,2,4,7,11,-45,-111,12617,67));
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
function s(a,b){
    console.log(arguments);
}
s(3,1,4,4,6,8,0,7,2);
</script>
</body>
</html>

15.函数分类

16.回调函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
function jisuan(a,b,yunsuan){
    return yunsuan(a,b);
}
function jia(a,b){
    return a+b;
}
function jian(a,b){
    return a-b;
}
function chen(a,b){
    return a*b;
}
function chu(a,b){
    return a/b;
}
function quyu(a,b){
    return a%b;
}
var jieguo = jisuan(2,3,quyu);
console.log(jieguo);
</script>
</body>
</html>

17.递归函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>
/*
function a(num){
    console.log(num);
    if(num==1){
        return false;
    }
    a(num-1);
}
a(78); //1——78
*/
//计算任意数字以内所有正数的和。 100 + 99 +98 + 。。。 +1

function sum(num){
    if(num==1){
        return 1;
    }
    return num+sum(num-1);
}
console.log(sum(100));
</script>
</body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读