js中的变量,函数,事件

时间:2022-10-28 18:53:06

1、arguments:

  只能出现在函数体内部

  代表的是实参副本

  长得和数组很像,但不是真正的数组,叫类数组

  有下标,下标从0开始

  通过下标去取下表对应的值(argument [下标])

//arguments.length:代表的是实参的个数

2、全局变量:

  在函数外部定义的变量

  在函数内部没有var定义的变量

  全局变量的作用范围 : 整个程序   从程序开始到结束 变量均有效 

3、局部变量:          
  在函数体内部明确通过var定义的变量            
  局部变量的作用范围 就是函数体内部  函数调用完成后 变量自动就销毁           
  所有的形参都是局部变量
4、变量提升:
  JavaScript引擎在执行的时候,会把函数和所有变量的声明都提升到当前作用域的最前面
  在JS代码执行之前,浏览器的解析器在遇到 var 变量名 和function 整个函数 提升到当前作用域的最前面
  js中只要有一处报错,下面的代码就不会执行了
   函数在全局作用下会变量提升,但是函数里的变量不会变量提升;
  只要在函数执行的时候;函数里面才会变量提升,会遵循以下几点:
   1.形参赋值
   2.变量提升;
   3.代码从上到下执行
  函数名相同:后面的函数把前面的函数给覆盖了
  变量提升时,如果变量和函数同名   保留函数
5、作用域:
  变量可以访问的范围(起作用的范围)
6、事件:
  对元素的某种操作
7、函数和事件的关系:
  所有的事件都会依赖函数执行
8、事件的三要素:
  事件源:一个名词
  事件:一个动词
  事件处理程序:函数
//eg:var btn = document.getElementById(“btn”);
    btn(事件源).onclick(事件) = function(){
      alert(1);(事件处理程序)
   }
9、如何操作页面元素:
操作样式:
  页面元素.style.样式 = 值
操作内容
  操作表单:页面元素.value = 值 属性操作
  操作非表单:页面元素.innerHTML = 值
操作标签属性:
  页面元素.属性 = 值
10、事件种类:
页面事件:
      onload  页面加载事件 (页面打开后执行)
     onunload 页面卸载事件(页面关闭时执行)
鼠标事件:
      onclick  单击
     ondblclick 双击
      onmousedown 按下
      onmouseup  抬起
      onmouseover 移入
      onmouseout 移出
     onmouseenter 移入     
     onmouseleaver 移出
      onmousemove 移动
     oncontextmenu 右键单击
键盘事件:
      onkeyup 抬起
     onkeydown 按下
     onkeypress 按下 + 抬起
其它事件(一般用于表单)
      onsubmit 表单提交事件(一般用于表单验证)
     onchange  改变 (一般用于下拉列表)
     onblur  失去焦点 
     onfocus 获取焦点
 
事件应用 : 
事件源.事件 = function(){
 
}
11、函数的递归调用
递归调用 : 函数自己调用自己
5! = 5*4!
4! = 4 *3!
3! = 3 * 2!
2! = 2*1!
1! = 1
递归的本质:循环 
function fac(n){ 任意一个数的阶乘  n  初始值
    if( n==1 ){   条件  终值
        return 1;
    }else{
        return n*fac(n-1)   n-1步长       n*fac(n-1)  反复执行的任务
    }
}