• 函数


    1. 声明式函数

    function add() {
    }
    

    2. 函数表达式

    var add = function(){
    };(function后面不带有函数名)
    

    3. 函数的重复声明

    重复声明同一个函数,后面的函数会覆盖前面的声明。

    4. 参数,return

    参数分为:1.形式参数(形参,函数定义时的参数);
             2.实际参数(实参,调用函数时赋值进去的参数)
    

    一个函数只能返回一次retrun

    function add(x,y) {
      return x+y;
    }
    add(1,1) // 2
    

    5. 立即调用函数表达式

    防止声明里的变量对其他作用域造成影响。

    (function(){}()); 
    // 或者
    (function(){})();
    // 或者
    ~~function(){}();
    // 或者
    !!function(){}();
    

    6. 函数名的提升

    预解析:程序执行前的准备工作
    函数预解析:函数形参在函数预解析时初始化(赋值)
    预解析时会找到var声明的变量和声明式函数。给var声明的变量一个默认值 undefined。声明式函数执行。
    没有在函数内部声明的变量称为全局变量。
    函数内部用到的变量的取值范围是在函数声明时确定的。

    var a = 1;
    var fn = function() {
        console.log(a);
    };
    function fn1() {
        var a = 2;
        fn();
    }
    fn1(); //1
    

    自由变量:没有在当前作用域内声明的变量(相对)

    function fn(x,y) {
           var x = 1;
        function fn1(x,y) {
        }
    }
    x相对于fn1是自由变量,而相对于fn就不是自由变量
    

    7. 作用域

    作用域(scope)指的是变量存在的范围。
    JS内只有两种作用域:1.全局作用域;2.函数作用域(局部作用域)

    (1) 在函数外部声明的变量就是全局变量(global variable),它可以在函数内部读取。
    (2) 在函数内部定义的变量,外部无法读取,称为“局部变量”(local variable)。
    (3) 函数内部定义的变量,会在该作用域内覆盖同名全局变量。
    var a = 1;
        var fn = function() {
            console.log(a);
        };
        function fn1() {
            var a = 2;
            fn();
        }
        fn1(); //1
  • 相关阅读:
    Hibernate4
    Hibernate3 多对多关系
    Hibernate 二(一级缓存,多表设计之一对多)
    Hibernate 配置文件
    Hibernate 基础解析(Configuration,SessionFactory,Session,Transaction,Query,Criteria)
    struts2 防止表单的重复提交
    struts2 UI标签 和 主题
    struts2 OGNL配和通用标签和其它标签的使用
    struts2 对EL的改变
    struts2 contextMap
  • 原文地址:https://www.cnblogs.com/justsilky/p/6853194.html
Copyright © 2020-2023  润新知