• JS学习三(函数)


    【函数的声明格式】
    1.函数的声明格式:
    function 函数名(参数1,参数2,...){
      函数体代码
      return 返回值;
    }


    函数的调用:
    ① 直接调用:函数名(参数1的值,参数2的值,....);
    ② 时间调用方式:直接在html标签中,使用事件名="函数名()"
    <button ondblclick="saySth('哈哈哈','yellow')">点击按钮,打印内容</button>
    2.函数的注意事项:
    ① 函数名必须符合小驼峰法则,(首字母小写,之后每个单词首字母大写)
    ② 函数名后面的()中,可以有参数,也可以没有参数,分别称为 有参函数 和 无参函数;
    ③ 声明函数时的参数列表,称为形参列表,形式参数。(变量的名字)
    function saySth(str,color){}
    调用函数是的参数列表,称为实参列表,实际参数。(变量的赋值)
    saySth("hello!!!","red");

    ④ 函数的形参列表个数,与实参列表个数,没有实际关联关系。
    函数参数的个数,取决于实参列表。
    如果实参列表的个数<形参列表,则为赋值的形参,将为Undefind。
    ⑤ 函数可以有返回值,使用return返回结果。
    调用函数时,可以使用一个变量接受函数的返回结果。如果函数没有返回值,则接受的结果为undefined;
    function fun(){
      return "哈哈";
    }
    var num = func();   num="哈哈"
    ⑥ 函数中变量的作用域:
    在函数中,使用var声明的变量,为局部变量,只能在函数内部访问;
    不用var声明的变量,为全部变量,在函数外面也能访问;
    函数的形参列表,默认为函数的举局部变量,只能在函数内部使用。
    ⑦ 函数的声明与函数的调用,没有先后之分。即,可以在声明函数前,调用函数。
    fun(); //声明之前调用可以。
    function fun(){}

    【匿名函数的声明使用】
    1.声明一个匿名函数,直接赋值给某一个事件。
    window.onload= function(){}
    2.使用匿名函数表达式。将匿名函数,赋值给一个变量。
    声明:var func=function (){}
    调用:func();

    注意:使用匿名函数表达式时,函数的调用,必须放在函数声明语句之后!!!
    (与普通函数的区别)
    3.自执函数:
    ① !function(){}();    可以使用多种与运算符开头,一般用!
    !function(形参列表){}(实参列表);
    ② (function(){}());    使用()将函数集函数后的括号包裹。
    ③ (function(){})();    使用()值包裹函数部分;

    三种写法的特点
    ① 使用!开头结构清晰,不容易混乱,推荐使用;
    ② 能够表明匿名函数与调用的()为一个整体,官方推荐使用;
    ③ 无法表示函数与之后剖的()的整体性,不推荐使用;

    【函数的内部属性】
    1.Arguments对象
    ① 作用:用于储存调用函数时的所有实参。
    当我们调用函数,并用实参赋值时,实际上 到arguments数组中, 可以在函数中,使用arguments[n]的形式调用。n从0开始。

    ② arguments数组的个数,取决于实参列表,与形参无关。
    但是,一旦第N个位置的形参、实参、arguments都存在时,形参将于arguments绑定,同步变化。
    (即在函数中修改形参的值,arguments也会改变。反之,亦成立。)
    ③ arguments.callee 是arguments的重要标志。表示arguments所在函数的引用地址;
    在函数里面,可以使用arguments.callee()调用函数本身。

    递归
    在函数内部,调用函数自身的写法,叫做递归。
    递归分为两部分: 递 和 归。 以递归调用语句为界限,可以将函数分为上下两部分。
    递:当函数执行上半部,遇到自身的语句时,继续进入内层函数,在执行上半部分。直到执行哇按最内层函数。
    归:当内层函数执行以后面,在从最内层函数开始,逐渐执行函数的下半部分。

    当最外层函数执行时,遇到自身调用语句,会进入内层函数执行,而外层函数的后半部分暂不执行。
    直到内层函数执行完以后,在逐步向外执行。

    【js代码的执行顺序问题】
    js代码在运行时,会分为两大部分:检查装载执行阶段
    检查装载阶段:会先检测代码的语法错误,进行变量、函数的声明。
    执行阶段:变量得瑟赋值、函数的调用等,都属于执行阶段。

    以一下代码为例:
    console.log(num);   Undefine
    var num=10;

    func1();    函数可以正常执行
    function func1(){}

    func2();    函数不能执行,打印func2,显示Undefine
    var func2= function(){}


    -----------检查装载阶段----------
    var num;

    var func1 = function(){};

    var func2;

    ----------------------------------------

    -----------代码执行阶段----------
    console.log(num);
    var num = 10;

    func1 ();

    func2 ();
    func2 = function(){}

    ----------------------------------------



    console.log(num);    Undefine
    var num=10;

    func1();    函数可以正常执行
    function func1(){}

    func2();    函数不能执行,打印func2,显示Undefine
    var func2= function(){}


  • 相关阅读:
    【PaddlePaddle系列】Executor逐步训练模型
    【PaddlePaddle】自然语言处理:句词预测
    【PaddlePaddle系列】CIFAR-10图像分类
    【图像处理】灰度图、亮度峰值极值查找
    【PaddlePaddle系列】报错解决方法合集 (不定时更新)
    【PaddlePaddle系列】手写数字识别
    Thymeleaf 基本用法总结
    Eclipse+Marven + spring mvc 新建一个 Hello world 项目
    Java EE 开发环境搭建
    vue.js安装过程(npm安装)
  • 原文地址:https://www.cnblogs.com/suitongyu/p/7440747.html
Copyright © 2020-2023  润新知