zoukankan      html  css  js  c++  java
  • JS函数

    6. 函数

    6.1. 函数定义:

    普通函数定义

    function f1() {
      console.log("Hello world!");
    }

    带参数的函数

    function f2(a, b) {
      console.log(arguments);  // 内置的arguments对象
      console.log(arguments.length);
      console.log(a + b);
    }
    
    
    f2('Hello','World');
    // (2) ["Hello", "World", callee: ƒ, Symbol(Symbol.iterator): ƒ]
    //  2

    带返回值的函数

    function f3(a,b) {
        return (a + b);
    }
    var s = f3('Hi','Kitty');
    console.log(s);    // HiKitty

    匿名函数方式

    var sum = function(a, b){
      return a + b;
    }
    sum(1, 2);      // 3

    立即执行函数

    (function(a, b){
      return a + b;
    })(1, 2);           // 3

    6.2 函数的全局变量和局部变量

    局部变量:
    在JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它(该变量的作用域是函数内部)。只要函数运行完毕,本地变量就会被删除。

    全局变量:
    在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

    变量生存周期:
    JavaScript变量的生命期从它们被声明的时间开始。
    局部变量会在函数运行以后被删除。
    全局变量会在页面关闭后被删除。

    6.3 作用域

    首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层。

    示例1:

    var city = "BeiJing";
    function f() {
        var city = "ShangHai";
        function inner(){
        var city = "ShenZhen";
        console.log(city);
        }
        inner();
    }
    
    f();  //输出结果是 ShenZhen

    示例2:

    var city = "BeiJing";
    function Bar() {
        console.log(city);
    }
    function f() {
        var city = "ShangHai";
        return Bar;
    }
    var ret = f();
    ret();  // 打印结果是 BeiJing

    闭包:

    var city = "BeiJing";
    function f(){
        var city = "ShangHai";
        function inner(){
            console.log(city);
        }
        return inner;   
    }
    var ret = f();
    ret();     // 打印结果是ShangHai
  • 相关阅读:
    从运维角度浅谈 MySQL 数据库优化
    好的架构不是设计出来的,而是演进出来的
    京东咚咚架构演进
    大型网站的架构
    MySQL开发规范
    MySQL 5.6的72个新特性(译)
    MySQL数据库运维的五大指标
    MySQL5.0、5.1、5.5、5.6功能进化
    MySQL各版本的区别
    ajax该什么时候用
  • 原文地址:https://www.cnblogs.com/zhzhlong/p/9302447.html
Copyright © 2011-2022 走看看