zoukankan      html  css  js  c++  java
  • 函数-1

     1 函数的定义
     2  // 1) 函数声明方式
     3     function sum(a, b) {
     4     console.log(1+3);
     5     }
     6     sum(10, 20);
     7 
     8     // 2) 函数表达式声明方式
     9     var add = function () {
    10     console.log(1+3);
    11     };
    12     add();
    13 
    14     // 3) 使用Function构造函数
    15     var add2 = new Function('console.log(1+3);');
    16     add2();

    ***函数的实参可以大于形参的个数,但是,实参比形参少,存在问题

     1  // 求出多个数的和
     2  function sum(numArr) {
     3     var value = 0;
     4     for(var i=0; i<numArr.length; i++){
     5         value += numArr[i];
     6         }
     7         console.log(value);
     8     }
     9     // var numArr = [10, 20, 30];
    10     sum([10, 20, 30, 90, 100]);
    11 
    12 
    13 function sum(num1, num2) {
    14     // arguments对象,会把函数传入的值,放到arguments中,伪数组
    15     // console.log(arguments);
    16     var value = 0;
    17     for(var i=0; i<arguments.length; i++){
    18         value += arguments[i];
    19     }
    20     console.log(value);
    21     console.log(arguments.length);
    22     console.log(sum.length);  
    23     if(arguments.length === sum.length){
    24         //sum.length传入形参的个数,就是判断形参与实参的个数是否相等
    25     }
    26     }
    27 
    28     sum(10, 20, 30, 100, 200, 100, 20);
     1  // 1. 函数直接声明
     2     function sum(num1, num2) {
     3         return num1 + num2;
     4     }
     5 
     6 
     7     console.log(sum(10, 20));
     8     //会将当前的作用域的函数声明作用到整个作用域的最前面  console.log(sum(10, 20));放到函数前面也可以执行
     9 
    10 
    11 
    12     // 2. 函数表达式声明
    13 
    14     var add = function (num1, num2) {
    15         return num1 + num2;
    16     };
    17     console.log(add(20, 40));
    18     //输出调用函数只能在函数声明的下方调用
     1 匿名函数
     2 1、绑定事件
     3 2、定时器
     4 3、自调用函数
     5 document.onclick = function () {
     6         alert("点我干嘛?");
     7     };
     8 
     9 setInterval(function () {
    10         console.log(1111);
    11     }, 1000)
    12 
    13 3、自调用函数--闭包
    14 (function () {
    15         alert("真的会执行吗?");
    16    })();
     1 回调函数:如果把函数的指针(地址)当作参数传递给另外一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数;
     2 在一个函数中调用另外一个函数
     3 
     4 function fn(num1, num2, func) {
     5         return func(num1, num2);
     6  }
     7 
     8 //小案例
     9 // 加减乘除函数
    10     function add(a, b) {
    11         return a + b;
    12     }
    13 
    14     function sub(a, b) {
    15         return a - b;
    16     }
    17 
    18     function mul(a, b) {
    19         return a * b;
    20     }
    21 
    22     function divide(a, b) {
    23         return a/b;
    24     }
    25 
    26     console.log(fn(10, 20, add));
    27     console.log(fn(10, 20, sub));
    28     console.log(fn(10, 20, mul));
    29     console.log(fn(10, 20, divide));
     1 // 求Fibonacci的第n个数
     2     // 1 1 2 3 5 8 13 21...
     3 
     4     function f1(n) {
     5         if(n === 1 || n === 2) return 1;
     6 
     7         return f1(n-1) + f1(n-2);
     8     }
     9 
    10     console.log(f1(8));
     1 var name = "张三";//全局
     2     {
     3         var age = 19000;
     4         console.log(name);//可以找到
     5     }
     6     console.log(age);//可以输出
     7 
     8     function test() {
     9         var sex = "男";//局部
    10         console.log(name);
    11     }
    12 
    13     test();
    14 
    15     console.log(sex);//找不到

    函数内部可以找到函数外部的变量,只有在函数内部才是局部变量,如果变量用var声明的就是局部变量,没有用var 声明的就是全局变量

    function test() {
            sex = "女";
            console.log(name + "局部打印");
        }
        test();
    
        console.log(sex);
    //没有用var 声明的为全局变量
    //这里的sex就是全局变量,但不推荐使用
     1 var color = "yellow";
     2     function getColor() {
     3         var anotherColor = "red";
     4 
     5         function swapColor() {
     6             var tmpColor = color; // y
     7             color = anotherColor; // r
     8             anotherColor = tmpColor; // y
     9         }
    10         swapColor();
    11     }
    12 
    13     getColor();
    14     console.log(color); // red
     var num = 10;
            fun();
            function fun(){
                // 声明提前
                 //var num;会把num=20分解,将var num;提前声明,赋值还在下方
                console.log(num);
                var num = 20;
            }
    
    //Undefied
    var a = b = c = 9;   a是局部的,b.c是全局的
  • 相关阅读:
    python while 格式化 运算符 编码
    python 变量 if
    1、cad安装
    10、云存储—文件上传
    9、云函数
    8、云数据库
    8、小程序云开发
    7、页面交互js
    6、页面样式WXSS
    5、页面结构WXML
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11178828.html
Copyright © 2011-2022 走看看