0806面试

  • 数组能否直接赋值为数组

    1. 可以直接赋值,但应该先初始化为数组
    2. 赋值以后,这两个数组指向同一个内存地址,一个改变则另一个也改变
    3. 若不想改变,用array.slice() 再克隆一个数组
  • 怎样创建一个函数

    1. 函数使用关键字function 进行创建 function sum(a,b){}
    2. 或者使用 var sum = function(a,b) {}
    3. 上述两种定义方法是等价的
  • 给函数传递数组

    1. 直接传递即可 funcion sum(array){}
  • 块儿级作用域,作用域链

    1. JS函数有自己的执行环境,代码执行时,创建作用域链
    2. 通过标识符解析,在环境栈中从前向后回溯
    3. 内部环境可访问外部,外部不能访问内部变量
    4. trycatch和 with 可以延长作用域链,
    5. JS没有块级作用域,if和for 内的变量执行后并不会立即销毁,而是添加到当前的执行环境里
    6. 在局部环境省略var 关键字,可使变量在全局环境中使用
  • block inline 和 inline-block

    1. block为块级元素,显示为独立的一块,会单独换一行,默认情况占满父元素宽度
    2. block元素可设置width,height,设置宽度后仍然是独占一行
    3. inline为内联元素,不产生换行,相邻元素排列在同一行
    4. inline设置width, height无效, margin 和 padding在竖直方向上无效
    5. inline-block 将对象呈现为inline,但内容按block显示
    6. 如对<a>设置inline-block,则可以对齐设置width和height,而且会按照inline显示
    7. 常见的块级元素:div form table p h1~h6 ul ol
    8. 常见的内联元素: span a strong em input img
  • pt em rem是什么

    1. pt是印刷的绝对单位,px是像素的相对单位,一般来说1px= 0.75pt
    2. em是相对尺寸单位,相当于当前对象内文本的字体尺寸,若未设置,则为默认尺寸,一般默认为16px
    3. em的尺寸不是固定的,会继承父级元素的字体大小
    4. rem指的是根em,它只相对于HTML的根元素,不会随父级元素变来变去
    5. html {font-size:62.5%;} h1{font-size:2.4rem;} p{font-size:1.4rem} 都会根据html的元素进行放大
  • display 有几种属性?

    1. 常用的:block,none,inline(默认),inline-block
  • css元素选择器是什么

    1. 元素选择器又成为类型选择器,如 html{} p{} h1{}
    2. 选择器可以用逗号进行分组 h1,p,h2 {}
    3. 相邻兄弟选择器 li+li{}
    4. 伪类 :active{} :focus{} :hover{} :visited{} :link{} :first-child{}
    5. 伪元素 :first-line{} :first-letter{} 前两个只能用于块级元素 :before{content: url(img/logo.gif);} :after{}
  • width是谁的

    1. width height 指的是元素的内容区域的宽度和高度
    2. 增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸
    3. 外边距margin可以为负值
  • css优先级机制

    1. 样式优先级:内联优先级 > 内部样式 > 外部样式
    2. 选择器优先权: 内联样式 > ID选择器 > Class类选择器 > HTML 标签选择器
    3. 用JS创建内部样式时,ie的表现会和其他浏览器不同
  • 构造函数

    1. 构造函数就是通过这个函数生成一个新对象
  • this关键字

    1. this代表函数运行时,自动生成的内部对象,只能在函数内部使用
    2. 总体的原则是,this是调用函数的那个对象
    3. 常用的是代表全局对象global
    4. 若包含this的函数成为了某对象的方法,则this指向的就是这个对象
    5. 若包含this的函数作为构造函数被调用,则this指向这个新创建的对象
    6. apply()是函数对象的一个方法,用以改变函数的调用对象,默认为全局
  • JS创建对象

    1. 使用字面量
    2. 使用new表达式 var o = new test(); test()为一个构造函数
  • 事件冒泡处理

    1. 事件冒泡:假如一个对象定义了事件处理程序,就会调用,否则会由内向外传播,直到最外层
    2. 事件冒泡允许多个操作被集中处理,添加到父元素上
    3. js可以用 addEventListener('click',function(e){e.stopPropagation()},false); 禁用监听
  • 原型继承

  • 判断一个$的类型

  • sdj的那个蓝icon灰背景怎么实现

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,684评论 1 92
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 12,051评论 2 19
  • 前端面试题的简单整理,都只是大概回答,具体某些问题的具体理解后续会补上。 前端页面有哪三层构成,分别是什么?作用是...
    李欢li阅读 3,332评论 0 2
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,118评论 24 450
  • 一双鸿浩直九重,白云清风脚下行。借问谁有凌云志,与我共手值和平。 (与路宝甲申年)
    圣贤堂阅读 988评论 0 1