前端面试必备知识

HTML5/CSS

1.每个HTML文件里开头都有个很重要的东西, Doctype, 知道这是干什么的吗?

2.div+css的布局较table布局有什么优点?

3.strong与em的异同?

4.你能描述一下

5.渐进增强和优雅降级之间的不同吗?

6.为什么利用多个域名来存储网站资源会更有效?

7.请描述一下cookies, sessionStorage和localStorage的区别?

8.简述一下src与href的区别。

9.你如何理解HTML结构的语义化?



CSS

1.有哪项方式可以对一个DOM设置它的CSS样式?

2.CSS都有哪些选择器?

3.CSS选择器的优先级是怎么样定义的?

4.CSS中可以通过哪些属性定义, 使得一个DOM元素不显示在浏览器可视范围内?

5.链接访问过后hover样式就不出现的问题是什么?如何解决?

6.行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?

7.css中可以让文字在垂直和水平方向上重叠的两个属性是什么?

8.px和em的区别。

9.描述一个”reset”的CSS文件并如何使用它。

10.知道normalize.css吗?你了解他们的不同之处?



JavaScript面试题

JavaScript面试的题目, 主要考察的内容还是逻辑性为主。 基础的部分, 主要是对内置函数的使用, 比如String, Math, Array对象。 还有一个比较讨面试喜欢的, 就是正则表达式。

作用域链:JS核心部分需要理解的一个重要部分。

闭包

原始对象

var a = 1;

a.a = 2;

console.log(a.a);

这一题需要理解的是点的作用, 在JS解释器中, 首先会判断左侧的变量是什么类型, 如果是普通对象, 会创建一个新的对象作用域, 然后挂载a属性。 console.log部分的a也是又创建了一个封装对象, 但是这个对象下面的a是没有赋值的。



引用类型

var a = {n:1};

var b = a;

a.x = a = {n:2};

alert(a.x);// --> undefined

alert(b.x);// --> [object Object]

这个涉及到了连续赋值的情况, 详情参考javascript 连等赋值问题.在程序运行到之后, 先确定好了 a.x 和 a 的引用, 再从右往左开始赋值的。 还有一点就是可以理解的是 . 运算优先级高于 = 运算符, 所以会先创建 a.x 对象, 然后在执行赋值过程。赋值顺序从右向左。



原型链

JS核心部分的另一个需要理解的重要部分

类型转换

比较时候的转换的原则:

一个是number一个是string时, 会尝试将string转换为number

尝试将boolean转换为number, 0或1

尝试将Object转换成number或string, 取决于另外一个对比量的类型

运算过程的转换原则:

字符串与数字相加,变成字符串

字符串与数字相减, 变成数字

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,698评论 0 13
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 10,814评论 0 7
  • 2015年9月,这是充满收获的一个月,从工作、阅读、理财、梦想几个方面都在很好的坚持着,唯独不好的是运动。9月份...
    拼pin阅读 1,904评论 0 1
  • “弹指一挥间,我竟只能以这样的方式念你” 2017年7月26日 星期三 晴 今天偶翻来相册,看见毕业照,照...
    糟糟莲阅读 4,003评论 0 3
  • 不要爱得太卑微,不要丢了自我,不要把他当一切的中心,不要太懂事。 可是,当你喜欢你一个的人时候,就是爱得很卑微,就...
    艾星阅读 1,696评论 0 0