面试题及答案
1.CSS优先级算法如何计算
2.CSS盒子模型
3.new操作符具体干了什么呢
4.DOM操作——怎样添加、移除、复制、创建和查找节点
5.js有几种数据类型,分别是什么
6.js如何判断一个数组
7.如何通过指定名称创建一个元素
8.在Jquery中,如何给动态添加的元素绑定事件
9.如何获取元素的属性 如 <a href=’www.baidu.com’> 获取href的值
10.form表单提交的必须条件是什么
11. 写出下面报错语句的可能原因
(1)Uncaught SyntaxError: Unexpected token )
(2)Uncaught SyntaxError: Unexpected identifier
(3) Unexpected end of input
- 常遇到的Ajax的Status Code有哪几种,分别代表什么意思
13.请写一个方法去除数组中的某个指定元素。
如 arr = [1,2,3,4,5,6] remove(arr,6) = [1,2,3,4,5]
function remove(arr,value){
Your Code...
Return arr;
}
答案
答1题:
* 优先级就近原则,同权重情况下样式定义最近者为准。
* 已最后载入的样式为准。
优先级为:
同权重: 内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。
!important > id > class > tag
important 比 内联优先级高
答2题:
在HTML中有句话:every element in web design is a rectangular box!
盒子包括: content -> padding -> border -> margin
css3 中 box-sizing: border-box 时,width: content + padding + border
答3题:
var obj = {};obj.__proto__ = fun.prototype;fun.call(obj);
答4题:
创建: createDocumentFragment (通常会起到优化性能的作用)createELement (创建一个具体的元素)createTextNode (创建一个文本节点)
添加,移除,替换,插入appendChild()removeChild()replaceChild()insertBefore() //在已有的子节点前插入一个新的子节点
查找getElementsByTagName() //标签名称getElementsByName() //通过元素的Name属性的值getElementById() //通过元素Id,唯一性
答5题:
1. 使用Object.prototype.toString 去判断!最好兼容性
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
alert( 'Array!' );
}
Array.isArray IE9以下不行