函数

  • onclick:点击事件
  • ondblclick:双击事件
  • onmouseover:鼠标移入事件
  • onmouseout:鼠标移开事件
  • onchange:内容改变事件(一般用于表单元素)
  • onkeyup:键盘按键弹起事件

函数

1.概念及好处

2.如何声明函数
    (1)function关键字声明
        ①function函数名(形参){调用函数时执行的代码}
    (2)赋值式
        ①var函数名 = function(形参){调用函数时执行的代码}
    (3)构造函数(不常用)
        ①new function();

3.调用函数
    (1)函数名()
    (2)事件驱动
        ①onclick = “函数名()”
        ②id名.onclick = 函数名 (注意:函数名后不要跟括号)
        ③id名.onclick = function(){}

4.函数的分类
    (1)自定义函数,声明函数
    (2)匿名函数 function(){}
    (3)内置函数

声明提前

  1. 在js代码执行之前,会将所有的声明提升到当前作用域的最顶端(相同作用域下,声明同一个 变量会发生覆盖)

  2. 按照代码的执行顺序,往下执行代码
    备注:js代码一旦报错,下面的代码都会终止执行。

  3. 若使用赋值式声明函数,在函数赋值之前使用函数,会报错 ** is not a function。
    备注:因为声明提前还没赋值,所以值为undefined,undefined不是函数。
    若使用关键字function声明函数,能在函数声明代码的前面使用

//例:变量声明提前
var num;			//(1)声明提前到最前面
console.log(num); 	//undefined
var num = 10;		//拆分成两步
num = 10;		//(2)在原位赋值
//备注:在变量声明之前使用变量(黄色部分声明并赋值,绿色部分是使用变量),则js代码会默认拆成(1)(2)部分。

作用域

  1. 概念:某个变量的使用范围,分成全局作用域及局部作用域
  2. (1) 全局变量:全局作用域下声明的变量(函数外声明的变量)
    (2) 局部变量:局部作用域声明的变量(函数内声明的变量)
  3. 变量的访问规则(就近原则)
    (1) 在函数内查找变量a,若自己内部已经声明该变量,那么使用函数内的该变量
    (2) 若在函数内找不到声明,往函数外一层找。若找到则使用,找不到继续往外找
    (3) 直到找到全局作用域,找到则使用,还找不到则报错,a is not defined。
  4. 所用域链
    当函数访问变量时,根据就近原则从内到外查询变量,这个路径称为作用域链。

函数的参数

  1. 形参:在函数声明时的参数(形参a相当于在函数内写了var a = 10;)
  2. 实参:在函数执行时的参数(实参传递的是值)
    ①实参与形参的个数可以不一致
  3. arguments 函数内部隐藏的对象,类数组,包含着所有实参的信息。
//利用arguments可以实现获取到所有的实参,进行任意的操作
        function sum(){
            var leng = arguments.length;
            var res = 0;
            for(var i=0;i<leng;i++){
                res += arguments[i];
            }
            console.log(res);
        }
        sum(11,22,55,89,100);

函数返回值return

  1. return将函数内部的值返回到函数外,函数外若想使用,必须要接收该返回值
  2. return若不书写或者直接写return,函数的返回值为undefined
  3. return退出函数,当执行了return,函数后面的代码不再执行

This

  1. 指的是调用该函数的当前对象
    (1)函数手动执行时,this为window
    (2)事件驱动函数时,this为事件绑定的对象

递归

  1. 自己调用自己,记得设置临界点,return退出函数.
    很容易进入死循环,报错Maximum call stack size exceeded

回调函数

  1. 函数a作为另一个函数b的参数传递,在b内部执行函数a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值