zoukankan      html  css  js  c++  java
  • 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
    结果
  • 相关阅读:
    python抓取网页图片
    Socket通信之Java学习(一)
    python打包成window可执行程序
    linux下安装java
    SpringBoot系列:五、SpringBoot使用Actuator
    SpringBoot系列:四、SpringBoot集成JPA
    SpringBoot系列:三、SpringBoot中使用Filter
    SpringBoot系列:二、SpringBoot的配置文件
    SpringBoot系列:一、SpringBoot搭建
    .Net Core使用IConfiguration来处理Json文件
  • 原文地址:https://www.cnblogs.com/beihan/p/9601253.html
Copyright © 2011-2022 走看看