栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > web前端

中恒博瑞–前端笔试

web前端 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

中恒博瑞–前端笔试

一、简答题

1.链表的优缺点

  • 优点
    (1).使用动态存储分配,不用事先估计大小
    (2).插入和删除不需要删除元素,效率高
    (3).不要求连续利用空间,空间利用率高
  • 缺点
    (1).不提供随机访问元素的机制
    (2).查找和搜索元素效率低

2.display:none和visibility:hidden有什么区别

两者都用于把网页上某个元素隐藏起来,但区别如下:display:none 会使这个对象彻底消失,实际上当display的属性为none时,被设置该属性的元素没有被加载;visibility:hidden 使对象不可见,但该对象在网页中所占的空间没有改变,在加载页面时一起加载进来。

3.行内元素有哪些?块级元素有哪些?空元素有哪些?

碰到过好多次
行内元素:<a>、<br>、<img>、<input>、<label>、<select>、<textarea>
块级元素:<p>、<div>、<form>、<ul>、<ol>、<dl>、<table>、<h1>~<h6>
空元素:<br>、<hr>、<meta>、<link>、<input>、<img>

4.列举浏览器对象模型BOM的常用至少三个对象,并列举window对象的至少三个方法

BOM的常用对象:window对象、location对象、screen对象、history对象、navigator对象、document对象
window对象的常用方法:close()方法,关闭浏览器窗口
alert()方法,警告框
confirm()方法,提示框
prompt()方法,输入框
open(),打开一个新的浏览器窗口或查找一个已经命名的窗口

5.列举文档对象模型dom里document对象的常用查找节点的方法并做简单说明

  • getElementById()方法:获取页面中id为指定内容的节点
  • getElementsByName()方法:返回带有指定名称的对象的集合(表单中使用)
  • getElementsByTagName()方法:获取标签名为指定内容的节点

6.Javascript中apply与call的用法意义及区别

obj.call(thisObj,arg1,arg2,…);
obj.apply(thisObj,[arg1,arg2,…]);
两者作用一致,都是把obj(即this)绑定到thisObj,这时候thisObj就具备了obj的属性和方法。或者说thisObj“继承”了obj的属性和方法。
两者唯一的区别是apply接收的是数组参数,而call接收的是连续参数。
**通过call和apply可以实现对象继承,例:

12345678var Parent = function() {this.name = ‘Lee’;this.age = 21;}var child = {};console.log(child);//空对象 Object {}Parent.call(child);console.log(child);//Object {name: “yjc”, age: 22}

 

二、编程题

1.如何判断一个对象是否属于某个类

instanceof运算符是用来在运行时指出对象是否是特定类或者它的子类,返回值是布尔值。
举例:判断obj是什么类型

1234var obj = new String(“Lee”); alert(obj instanceof String); //truealert(obj instanceof Object); //truealert(obj instanceof Number); //false

 

2.javascript中对象的深度克隆

不是太明白,等理解深入点了再填坑

3.如何消除一个数组里面的重复元素?函数名称为deRepeat,数组为var arr = [1,2,3,3,4,4,5,5,6,1,9,3,25,4]

1234567891011Array.prototype.method = function(){ var arr1[]; //定义一个临时数组 for(var i = 0; i < this.length; i++){ //循环遍历当前数组 //判断当前数组下标为i的元素是否已经保存到临时数组 //如果已保存,则跳过,否则将此元素保存到临时数组中 if(arr1.indexOf(this[i]) == -1){arr.push(this[i]); } } return arr; }
123456789function unique(arr) {var temp[];for(var i in arr) {if(temp.indexOf(arr[i]) == -1) {temp.push(arr[i]);}}return temp;}

 

这两种方法原理相同,都是遍历数组中的元素。利用indexOf()方法。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号