zoukankan      html  css  js  c++  java
  • js中的函数

    函数

    函数:由事件驱动的或者当它被调用时执行的可重复使用的代码块。语法格式:

    function 函数名(参数1,参数2) {         //用关键字function来声明函数
    这里要执行的代码
    }
    函数名(参数1,参数2)    //调用函数

    注意:javaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

    函数的声明

    第一种function关键字:

     function foo(x, y) {
            return x + y
        }

    这种声明方式可以通过函数名来调用

    第二种:函数表达式

    这种方式:没有函数名而是通过变量名来代替函数名,调用函数的时候通过访问变量来调用

    var foo = function (x, y) {
            return x + y
        };

    第三种:function构造函数,没有人用

    var foo = new function()

    带有返回值的函数

     var foo = function (x, y) {
            return x + y
        };
        var f = foo(3, 4);
        alert(f)
    注意:在使用 return 语句时,函数会停止执行并不是整个javascript 停止,并返回指定的值 ,函数的返回值你不需要声明他只需要使用 return 运算符后跟要返回的值即可。如果return没有返回值,那么接收return的值等于undefined
    // 普通函数定义
    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;
    }
    sum(1, 2);  // 调用函数
    
    // 匿名函数方式
    var sum = function(a, b){
      return a + b;
    }
    sum(1, 2);
    
    // 立即执行函数
    (function(a, b){
      return a + b;
    })(1, 2);

    局部变量

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

     function myfunction() {
            var n = 3; //这里用var声明
    
        }
    
        myfunction();
        console.log(n);
    
    //结果报错,没有定义

    全局变量:

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

         n = 11;
        var foo = function () {
            console.log('foo的n', n)
    
        };
    
        function myfunction() {
            console.log('myfunction的n', n)
    
        }
    
        myfunction();
        foo();
        console.log('全局的n',n);

    结果:

    myfunction的n 11
    foo的n 11
    全局的n 11

    2.如果在函数内没有声明该变量时,该变量是全局变量.

     function myfunction() {
            n = 3; //这里没有用var声明,该变量就是全局变量
    
        }
    
        myfunction();
        console.log(n);

    结果:

      3

     

    变量生存周期:

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

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

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

     
    
    

    几个例子:

    
    

     

    var city = "BeiJing";
    function f(){
        var city = "ShangHai";
        function inner(){
            console.log(city);
        }
        return inner;
    }
    var ret = f();
    ret();
    var city = "BeiJing";
    function Bar() {
      console.log(city);
    }
    function f() {
      var city = "ShangHai";
      return Bar;
    }
    var ret = f();
    ret();  // 打印结果是?
  • 相关阅读:
    x240 uefi ubuntu 12.04.4
    配置管理系统和总体变更系统有什么差别与联系
    C#-利用ZPL语言完毕条形码的生成和打印
    Java Web系统经常使用的第三方接口
    C++类型转换
    JAVA实现HTTPserver端
    Java 实现迭代器(Iterator)模式
    tomcat源代码Catalina
    【剑指offer】二叉搜索树转双向链表
    linux下C语言中的flock函数使用方法 .
  • 原文地址:https://www.cnblogs.com/sticker0726/p/10926242.html
Copyright © 2011-2022 走看看