面试题及答案

时间:2021-05-09 19:08:20

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.  写出下面报错语句的可能原因

1Uncaught SyntaxError: Unexpected token )  

 

(2)Uncaught SyntaxError: Unexpected identifier

 

(3) Unexpected end of input

 

  1. 常遇到的AjaxStatus 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以下不行