zoukankan      html  css  js  c++  java
  • JavaScript函数基础知识

    函数的声明及调用

    1.函数声明的格式:
    function 函数名(参数1,参数2,……){
    // 函数体
    return 结果;
    }

    >>>函数调用的格式:
    直接调用:函数名(参数1的值,参数2的值,……);
    事件调用:事件名=函数名();

    2.函数声明的几点强调:
    ① 函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
    ② 参数列表,可以有参数,可以无参数。分别称为有参函数,无参函数;
    ③ 声明函数时的参数列表,称为“形参列表”(变量的名);
    调用函数时的参数列表,称为“实参列表”(变量的值);
    函数中,实际有效的参数取决于实参的赋值,未被赋值的形参,将为Undefined;
    ④ 函数如果需要返回值,可用return返回结果。
    调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
    如果函数没有返回值,则接受的结果为Undefined。
    ⑤ 函数中变量的作用域:
    在函数中,使用var声明的变量,默认为函数局部变量,只在函数内容能用;
    不用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后,才能使用)。
    函数的形参列表,为函数局部变量,只在函数内部能用;
    ⑥ 函数声明与函数调用,没有先后之分。即,调用语句可写在声明语句之前。

    匿名函数的声明及调用

    1.声明一个匿名函数,直接赋给某个事件;
    window.onload=function(){}

    2.使用函数表达式,声明匿名函数;
    声明函数表达式:var func = function(){}
    调用函数表达式:func();
    >>> 使用匿名函数表达式,则调用语句,必须在声明语句之后,否则报错(对比常规函数声明与调用区别?)

    3.使用自执行函数,声明并直接调用匿名函数:
    ① !function(参数1){}(参数1的值); //使用任意运算符开头,一般使用!
    ② (function(){}()) //使用()将匿名函数及之后的括号包裹
    ③ (function(){})() //使用()只包裹匿名函数表达式
    三种写法特点:
    ① 结构清晰,开头加!,结尾加()。不容易乱,推荐使用;
    ② 可以表明匿名函数与之后的()为一个整体,推荐使用;
    ③ 无法表明函数与之后()为一个整体,不推荐使用;

    函数内部的属性

    【Arguments对象】

    1.作用:用于保存调用函数时,所赋值的实参列表。
    >>> 当我们调用函数,并使用实参赋值时,实际上参数已经保存到arguments数组中。即使没有形参,也可以使用arguments[n]的形式调用参数;

    2.arguments数组的个数,取决于实参列表,与形参无关(顺序从0开始);
    但,当第N个位置的形参、实参、arguments都存在时,形参与arguments是同步的。(即在函数中修改其中一个的值,另一个会同步变化)

    3.arguments.callee是arguments的重要属性,用于返回arguments所在函数的引用;
    arguments.callee() 可以调用自身函数执行;


    在函数内部调用函数自身的写法,被称为递归,所以arguments.callee()是递归调用时常用的方式;

    【this】
    指向函数调用语句所在作用域,即,哪个对象调用函数,this指向这个对象;

     

  • 相关阅读:
    Spring Boot 返回 XML 数据,一分钟搞定!
    Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现
    周末去面试,进去 5 分钟就出来了…
    Spring Boot 返回 JSON 数据,一分钟搞定!
    Java 11 已发布,String 还能这样玩!
    Hashtable 为什么不叫 HashTable?
    Java 中初始化 List 集合的 6 种方式!
    HashMap 和 Hashtable 的 6 个区别,最后一个没几个人知道!
    毕业不到一年,绩效打了个D!
    poj 3111 K Best (二分搜索之最大化平均值之01分数规划)
  • 原文地址:https://www.cnblogs.com/yt4561761/p/6685848.html
Copyright © 2011-2022 走看看