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