javascript (函数的概念 意义 创建 执行 参数 声明提升 arguments return)

1.函数的概念和意义

函数:由事件驱动或调用时,可重复执行的代码块

意义:减少代码冗余 ,提高了灵活性,可维护性,可扩展性

2.函数的创建

函数声明

  function functionName() {
    //函数体 具体要执行的代码
    console.log("ok");

函数表达式

   var functionName = function () {
    //函数体 具体要执行的代码
  }; 
  var bar = function () {
    alert(20);
  };

借助构造函数 Function系统内置的一个构造函数(类)

  //var functionName = new Function();

3.函数的执行

事件驱动执行

  /* btn.onclick = function () {
    console.log("ok");
  }; */

  /* var foo = function () {
    console.log("ok");
  };
  btn.onclick = foo;
  console.log(foo); */

调用执行 函数名()

  /* var foo = function () {
    console.log("ok");
  };
  function bar() {
    console.log("ok1");
  }
  foo();
  bar();

  foo(); */

封装一个九九乘法表函数

<input type="button" value="九九乘法表" id="btn" />
    <script>
      function jjb() {
        for (var i = 1; i <= 9; i++) {
          for (var j = 1; j <= i; j++) {
            document.write(j + "x" + i + "=" + i * j + "&nbsp;");
          }
          document.write("<br>");
        }
      }
      //btn.onclick = jjb;
      jjb();
    </script>

4.函数的参数

求某两个数的和
参数:在创建一个函数,放到小括号里的变量,称为形参,在调用一个函数时,放到小括号里的值,称为实参
需要时就给 当函数内部的一些值是可变的,可以考虑使用参数表示

形参和实参 一一对应
如果形参的个数比实参的个数多,多余的形参会得到一个默认值undefined
如果形参的个数比实参的个数少,多余的实参无效

 function doAdd(x, y) {
        var he = x + y;
        document.write(he);
      }
      doAdd();
      doAdd(10);
      //doAdd(121212, 3554353);

5.解释执行声明提升

js引擎在执行js时
分两步: 1. 先扫描当前环境中的所有的声明,包括变量声明和函数声明,将其提升至对应环境的顶部 2. 执行代码

      console.log(a);会输出undefind
      var a = 10;//

变量声明,只提升变量名,函数声明,整个函数都提升
同名的变量和函数,都提升时,函数的优先级高

例:/* console.log(a); //undefined
      var a = 10;
      var a = function () {
        console.log("ok");
      };
      console.log(a); //函数体 */

arguments

求任意个数的和
      //arguments 当形参的个数不确定,有需要取实参的时候
      function foo() {
        /*  console.log(arguments); //保存了传给函数的所有的实参的一个集合
        console.log(arguments[0]); //第一个实参  1
        console.log(arguments[1]); //第二个实参  2
        console.log(arguments.length); //实参的个数 */
        for (var i = 0; i < arguments.length; i++) {
          console.log(arguments[i]);
        }
      }
      foo(1, 2, 3, 3, 4, 5);

return

return 用在函数的内部 1.结束函数执行 2.函数返回值

      /* function foo() {
        console.log("1");
        return;//return后面的代码不再执行了
        console.log("2");
      }
      foo(); */

  /* function doAdd(x, y) {
    var sum = x + y;
    //这个函数没有返回值 没有return 或者return后没有值 默认返回undefined
    
  } */
上一篇:对于javascript中作用域的一些理解


下一篇:[unity]C#脚本调用外部exe