js事件+js运行三部曲

键盘事件:

keydown 键盘的按下事件 不停触发
keyup
keypress 键盘的按下事件 不停触发 alt shift contrl 功能键

keycode 被废弃 获取键盘上键值的字符编码

code 直接获取键值

绑定在表单元素 window document

表单事件:

focus
bulr
submit

input 实时检测
change 失去焦点检测

鼠标事件

移入移出

冒泡:
mouseover
mouseout

e.bubbls

BOM

innerWidth 、innerHeight 窗口可视区的宽高

pageXoffset pageYoffset 横纵滚动条的偏移量

offsetTop
offsetLeft
offsetWidth
offsetHeight 得到的是数字类型 直接参与运算

Navigator

  • appName ‘netSpace’
  • userAgent 放在https请求头中的信息
  • onLine 是否在线 联网

History

  • length 历史记录的长度

  • back() 回退

  • forward() 前进

  • go() 正值 负值 0刷新

location

// https://developer.mozilla.org/zh-CN/docs/Web/API/Location

https   超文本传输协议  加密协议  ssh
http  默认端口号:8080

udp   

ftp


developer.mozilla.org  域名  ip地址  DNS

zh-CN/docs/Web/API/Location  文件路径



// http://127.0.0.1:5500/01.html

属性

  • protocol 当前url地址的协议部分

  • host url的域名部分

  • port 端口号

  • search 获取url中参数部分

  • pathname url中的文件路径

  • href 获取或者修改整个url地址

注意:以上任意一个属性修改,地址栏检测到都会发生改变

方法

  • assign() 让当前窗口加载最新的资源 参数 新网页的地址
  • reload() 重载 默认false 从浏览器的缓存中去拿 true 从服务器中去获取
  • replace() 替换当前页面为新页面 无法回退
get 传递参数  会直接显示在地址栏中
post 传递参数  显示在请求信息中

函数表达式

var fn = function(){

}

函数表达式中赋值号右边的函数名字没有实际意义 ,所以可以省略不写 匿名函数

表达式创建函数 不会提前声明,必须在函数赋值给变量之后,才能正常调用

立即执行函数

(function(){


})()

(function(){}())

+function(){}()
-function(){}()
!function(){}()
~function(){}()
操作数   数据  值  1 ture function() obj
操作符   运算符

由操作数和操作符组成的一个式子  表达式

js运行三部曲

  1. 语法分析
    通篇扫描代码 看代码中有没有语法错误
  2. 预编译(预解析)
    1. 全局预编译
      1. 创建一个(GO Golabl Object)对象
      2. 分析变量声明,如果GO对象上没有这个属性名,则添加属性,并且值为undefined;如果GO对象上已经存在这个属性,不做任何改变
      3. 分析函数的声明,如果GO对象上没有这个属性名,则添加属性,值为函数体;如果有,则覆盖
    2. 函数预编译
      1. 函数在执行的那一刻,会创建一个对象(AO Active Object 活动对象)
      2. 函数声明的形参,作为AO对象的属性名,值是实参的值,如果没有传值,值为undefined
      3. 分析函数声明的变量,如果AO对象上没有这个属性名,则添加属性,并且值为undefined
        如果AO对象上已经存在这个属性,不做任何改变
      4. 分析函数声明,如果AO对象上没有这个属性名,则添加属性,值为函数体;如果有,则覆盖
  3. 逐行执行代码
    浏览器按照预编译分析出来的AO,逐行执行代码

注意:预编译过程中声明的变量和函数 在执行代码阶段不需要再次声明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值