html学习--1

href学习

  • href="javascript:void(0)" 阻止页面跳转类似于javascript:#,url无变化(死链接,返回undefined)
  • href="#" href="?" 阻止页面跳转,url后拼接显示符号

window学习

  • 浏览器宽高
    window.innerHeight 浏览器内部高度(包含滚动条)
    window.innerWidth 浏览器内部宽度(包含滚动条)

  • 兼容低版IE
    document.documentElement.clientHeight 浏览器高度
    document.documentElement.clientWidth 浏览器宽度
    document.body.clientHeight
    document.body.clientWidth

  • 兼容搜索浏览器
    var width = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight

  • 浏览器可用宽/高度
    screen.availWidth
    screen.availHeight

  • 浏览器url
    location.href 返回整个url
    location.pathname 返回url的路径名
    location.assign(url) 加载新页面

  • 浏览器前进后退
    history.back() 默认退回上一页
    history.forward() 默认前进下一页

cookie学习

  • cookie介绍
    new Cookie('key','value','time','Domain(域名)','path',secure')
    key: 键名(必须)
    value: 值 (必须)
    time: 过期时间
    Domain: 生成该cookie的域名
    Path: 生成cookie的路径
    secure: 设置后只在ssh连接下才回传cookie

  • 类型检测
    typeof '111' 返回string
    typeof 3 返回number
    typeof NaN 返回number
    typeof false 返回boolean
    typeof [1,2,3] 返回object
    typeof {'id':1} 返回object
    typeof date格式 返回object
    typeof function 返回function
    typeof aaa 返回undefined
    typeof null 返回object

  • constructor属性
    '111'.constructor 返回string
    new Date().constructor 返回date
    [1,2,3].constructor 返回array

  • 小结:typeof无法检测array、date格式,返回结果为object

  • promise 解决回调地狱(代码变优雅)

  • // 回调地狱
    function(){
    console.log(3)
    function(){
    console.log(2)
    function(){
    console.log(1)
    }
    }
    }

  • // promise
    new Promise(function(resolve,reject){
    console.log(3)
    resolve()
    }).then(function(resolve,reject){
    console.log(2)
    resolve()
    }).then(function(resolve,reject){
    console.log(1)
    }).catch(function(err){
    console.log('异常')
    }).finally(function(){
    console.log('结束')
    })

  • promise 方法顺序
    正常:then--> catch --> finally
    顺序可改变
    终止then方法:return无效 throw跳转至catch可实现

  • 变量声明区别
    let: 定义块变量
    var: 定义全局变量
    const: 定义常量

  • let和var区别
    let声明全局变量不会作用于window,var可以
    let声明变量只可用在其后,var可先使用后声明
    相同作用域:let和var不可以同时定义同一个变量名

  • 函数 function
    arguments : 函数内置参数
    例: var a = func(1,2,3) function func()

  • 鼠标事件
    onmouseover / onmouseout 鼠标经过自身触发事件,经过子元素同样触发 (支持冒泡) 继承
    onmouseenter / onmouseleave 鼠标经过自身触发事件,经过子元素不触发 (不支持冒泡) 私有

posted on 2020-12-03 18:22  夜攸  阅读(94)  评论(0编辑  收藏  举报