JavaScript-事件 & 作用域

125 阅读1分钟

键盘事件

    <input type="text" id="inp">
    <script>
        //document文档对象
        var inp = document.getElementById("inp")
        document.onkeydown = function () {
            console.log("keydown");  //键盘按下
        }
        inp.onkeyup = function () {
            console.log("keyup");  //键盘弹起事件
        }

        inp.onkeypress = function(){
            console.log("onkeypress");  //按下事件
        }

表单事件

   var oTxt = document.getElementById("inp");
        oTxt.onfocus = function () {
            console.log("获取焦点")
        }
        oTxt.onblur = function () {
            console.log("失去焦点")
        }
        //内容改变
        oTxt.onchange = function () {
            console.log("内容改变")
        }
        oTxt.oninput = function(){
            console.log("输入事件,字数统计")
        }

鼠标事件

  • onclick
  • ondblclick
  • onmousemove
  • onmouseover
  • onmouseout
  • onmouseenter
  • onmouseleave

作用域

作用的范围(变量提升,预解析的过程)

  1. 全局作用域:函数外定义的变量 在页面的任何地方都可以使用
    -函数里面变量不加var,就是全局变量
  2. 局部作用域:函数内定义的变量 只能在函数内使用
  3. 作用域链:如果当前作用域中没有,则向父级作用域查找,父级如果还没有,则会报错
  • 在作用域中寻找一些东西:var function 形参
  • 逐行解读代码
    • 执行表达式
    • 函数调用
  • 当变量和函数名相同,丢变量,保函数
  • 多个script标签,从上到下依次解析并执行第一个script标签,然后再下一个,以此类推
  • 在上面script中声明的东西,下面可以用
  • 在下面script中声明的东西,上面使用都会报错
  • 函数里面的,自己管自己玩,不参与外部的变量覆盖