• Web ----- JavaScript 一 语言基础(二)


    一.函数

    普通函数

    // 普通函数定义
    function f1() {
      console.log("Hello world!");
    }

    带参数函数

    // 带参数的函数
    function f2(a, b) {
      console.log(arguments);  // 内置的arguments对象
      console.log(arguments.length);
      console.log(a, b);
    }

    带返回值函数

    / 带返回值的函数
    function sum(a, b){
      return a + b;
    }
    console.log(sum(1, 2));  // 调用函数

    匿名函数

    // 匿名函数方式
    var sum = function(a, b){
      return a + b;
    }
    console.log(sum(1, 2));

    立即执行函数

    // 立即执行函数
    console.log(
    (function(a, b){
      return a + b;
    })(1, 2);)

    ES6新增的箭头函数

    var f = v => v;
    // 等同于
    var f = function(v){
      return v;
    }

    // 如果箭头函数不需要参数或需要多个参数,就是用圆括号代表参数部分:

    var f = () => 5; // 等同于 var f = function(){return 5}; var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2){ return num1 + num2; }

    函数中的arguments函数:

    function add(a,b){
      console.log(a+b);
      console.log(arguments.length)
    }
    
    add(1,2)

    函数只能返回一个值,如果要返回多个值,只能将其放在数组或对象中返回。

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

    局部变量

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

    全局变量:

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

    变量生存周期:

    JavaScript变量的生命期从它们被声明的时间开始。

    局部变量会在函数运行以后被删除。

    全局变量会在页面关闭后被删除。

    作用域:

    var city = "BeiJing";
    function f() {
      var city = "ShangHai";
      function inner(){
        var city = "ShenZhen";
        console.log(city);
      }
      inner();
    }
    
    f();  //输出结果是?
    ShenZhen
    结果
    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
    结果
  • 相关阅读:
    八数码难题 (codevs 1225)题解
    小木棍 (codevs 3498)题解
    sliding windows (poj 2823) 题解
    集合删数 (vijos 1545) 题解
    合并果子 (codevs 1063) 题解
    等价表达式 (codevs 1107)题解
    生理周期 (poj 1006) 题解
    区间 (vijos 1439) 题解
    区间覆盖问题 题解
    种树 (codevs 1653) 题解
  • 原文地址:https://www.cnblogs.com/beihan/p/9601253.html
Copyright © 2020-2023  润新知