zoukankan      html  css  js  c++  java
  • js中的变量,函数,事件

    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)  反复执行的任务
        }
    }
     
  • 相关阅读:
    RS错误RSV-VAL-0032之项目未在布局中引用的3种解决办法
    Cognos访问权限之让拒绝更友善
    SSIS包部署错误之运行环境设置
    RS开发中的一些小技巧[不定期更新]
    RS布局问题之块的不完美之完美
    Zuul使用Ribbon配置自动重试
    Eureka集群试验的一点总结
    centos 6.4 调整home和root分区大小
    ribbon区域亲和配置一例
    SpringMVC 类内部的RequestMapping注解能否被继承?
  • 原文地址:https://www.cnblogs.com/ginelle/p/10191342.html
Copyright © 2011-2022 走看看