zoukankan      html  css  js  c++  java
  • JS函数入门

    一.

    函数的声明及调用
    * 1函数的格式:function 函数名(参数1,参数2......){
    * //函数体
    * return 结果;
    *
    * }
    * 函数调用的格式:
    * 直接调用:函数名(参数1的值,参数2的值......);
    * 事件调用:事件名="函数名()";

    * 2,函数声明的几点强调:
    * ①函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
    * ②参数列表,可以有参数也可以没有参数,分别称为有参函数,无参函数;
    * ③声明函数时的参数列表,称为"形参列表"(变量的名);
    * 调用函数时的参数列表,称为"实参列表"(变量的值);
    * 函数中,实际有效的参数取决于参数的赋值,未被赋值的形参,将为Undeined;
    * ④函数如果需要返回值,可用return返回结果;
    * 调用函数时,使用var 变量名=函数名();的方式,接收返回结果;
    * 如果函数没有返回值,则接受的结果为undefined;
    * ⑤函数中变量的作用域:
    * 在函数中,使用var声明变量,默认为函数局部变量,只在函数内能用;
    * 不用var声明默认全局变量(函数中的全局变量必须在函数调用后才能使用)。
    * 函数的形参列表,为函数局部变量,只在函数内部能调用;
    * ⑥函数声明与函数调用没有先后之分。即,调用可以写在声明之前。
    * consle.log(num);
    * var num=10;
    * 上述代码执行顺序:
    * JS中代码执行,会先进行检查,装载,即声明变量,函数等操作;
    * 然后再进入执行阶段,(变量的赋值属于执行阶段)
    * 所以,函数的声明属于检查装载结案,函数的调用属于执行阶段。so,函数调用语句写在函数声明之前没关系.
    * 所以上述代码执行流入
    * 声明阶段
    * var num;//声明变量
    * function funcN()//声明函数
    * 执行阶段
    *
    * console.log(num);
    * num=10
    * funcN()执行函数的{} 中的代码。
    *

    二.

    匿名函数的声明及调用
    * 1声明一个匿名函数,直接赋给某个事件;
    * window.onload=function(){}
    * 2使用函数表达式声明匿名函数;
    * 声明函数表达式:var func=function(){}
    * 调用函数表达式:func();
    * 使用匿名函数表达式,则调用语句,必须在声明语句之后,否则报错(对比常规函数声明与调用区别)
    * 3使用自执行函数,声明并直接调用匿名函数:
    * !function(参数1){}(参数1的值);//使用任意运算符开头,一般用!
    * (function(){}())//使用()将匿名函数及之后的括号包裹
    * (function(){})()//使用()只包裹匿名函数表达式
    *
    *
    * 三种写法的特点:
    * ①结构清晰,开头加!结尾加()不容易错乱,推荐使用;
    * ②可以表明匿名函数与之后的()为一个整体,推荐使用;
    * ③无法表明函数与之后()为一个整体,不推荐使用。
    *三.

    函数内部的属性
    * Arguments对象
    * 1作用:用于保存调用函数时,所赋值的实参列表。
    * 当我们调用函数,并使用实参赋值时,实际上参数已经保存到arguments数组中,即使没有形参,也可以使用arguments[n]的形式调用参数;
    * 2arguments数组的个数,取决于实参列表,与形参无关(从0开始)
    * 但,当第N个位置的形参,实参,arguents都存在时,形参与arguments是同步的。(即在函数中修改一个的值另一个会同步变化)
    * 3.arguments.callee是arguments的重要属性,用于返回arguments所在函数的引用;
    * arguments.callee()可以调用自身函数执行;
    * 在函数内部调用函数自身的写法,被称为递归,所以arguments.callee()是递归调用时常用的方式:
    * this:
    * 指向函数调用语句所在作用域即谁调用函数this指向谁;

  • 相关阅读:
    yum安装出现Error: Package: glibc-headers-2.17-157.el7.x86_64 (centos7.3)类似报错解决方案
    构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境
    安卓扫描条码二维码功能
    安卓格式化日期
    生成k8s join代码
    Delphi ado连接DBF数据
    README-gitlab
    sqlserver查看哪段时间不存在数据
    delphi强制终止进程
    sqlserver启用通过sql语句远程访问权限
  • 原文地址:https://www.cnblogs.com/jyc226/p/6682153.html
Copyright © 2011-2022 走看看