一、垂直居中
方法1:绝对定位 + 元素上下左右为0 + margin:auto
方法2:table-cell
方法3:绝对定位 + 元素上左:50% + margin上左:-50%自身高度 (自身高度已知情况)
方法4:过渡
方法5:flex
二、原型与原型链

1.读取属性时,会沿着隐式原型链查找
2.设置属性时,不会查找原型链,会在对象中直接添加
3.一般方法定义在原型中,属性通过构造函数定义在对象本身上
function Person(name,age){
    this.name = name
    this.age = age
}
Person.prototype.setName = function(name){
    this.name = name
}
4.instanceof是如何判断的?
    表达式: A instanceof B 
    如果B函数的显式原型在A对象的原型链上,则true

三、执行上下文
1.变量声明提升
    通过var定义的变量,在定义的语句之前就能访问,值:undefined
2.函数声明提升
    通过function声明的函数,在函数之前就能直接调用,值:函数对象
3.执行上下文
    代码分类:全局代码,函数代码

4.执行上下文栈
执行前产生,定义却不调用不会产生
执行上下文对象的个数: N(函数调用的次数) + 1 (window)

5.作用域与作用域链
    作用域:全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了,是静态的,不会再变化
    执行上下文是动态的,调用时创建,调用后会自动释放

6.闭包
    函数体要保存,闭包才会存在 f = fn1()    产生的条件:函数嵌套 + 内部函数引用了外部函数的变量
    闭包的作用: 使函数内部的变量在函数执行完后,仍然存活在内存中;让函数外部可以读写到函数内部的变量
    生命周期:产生,定义时产生;死亡,成为垃圾对象时 f = null    解决循环遍历加监听产生的闭包
    1.将每次 i 的值单独保存 var btn = btns[i]   btn.index = i
    2.使用立即执行函数
    3.使用promise
7.原型链继承
    子类型的原型为父类型的一个实例对象
    Sub.prototype = new Supper()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 12,531评论 3 30
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,686评论 1 92
  • [if !supportLists]1.[endif]使用绝对定位和负外边距对块级元素进行垂直居中 我是测试D...
    年华似水_502b阅读 2,454评论 0 0
  • 夏至已至,高温持续。溺水复苏——这个季节不变的主旋律。 7月25日,一名19岁的少年,在巴南区团山堡附近一处废弃矿...
    松仁儿阅读 7,017评论 11 1
  • 小区对面有家生意不错的水果店,它跟所有上海开在生活区的街头水果店一样,最当季的水果总是放在进门最显眼的位置,我常常...
    颜牧YM阅读 4,044评论 16 9