当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 百度前端笔试面试7个试题

Javascript
JavaScript DOM学习第八章 表单错误提示
JavaScript DOM 学习第九章 选取范围的介绍
JavaScript CSS修改学习第一章 查找位置
JavaScript CSS修改学习第二章 样式
JavaScript CSS修改学习第三章 修改样式表
JavaScript CSS 修改学习第四章 透明度设置
JavaScript CSS修改学习第五章 给“上传”添加样式
JavaScript CSS修改学习第六章 拖拽
Jquery乱码的一次解决过程 图解教程
javascript 包裹节点 提高效率
javascript inneHTML的地雷
javascript 定义新对象方法
判定对象是否为window的js代码
jquery validator 插件增加日期比较方法
jquery 得到当前页面高度和宽度的两个函数
JavaScript 编写匿名函数的几种方法
jQuery 操作下拉列表框实现代码
jQuery入门问答 整理的几个常见的初学者问题
第一个JavaScript入门基础 document.write输出
javascript入门基础之私有变量

Javascript 中的 百度前端笔试面试7个试题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 251 ::
收藏到网摘: n/a

1、    JavaScript包括哪些数据类型?

我回答的是有两种:基本类型和对象,其中基本类型包括数字、字符串、布尔和null;对象(类似对象),包括数组、函数、内置对象、自定义对象。不过按理说字符串也有些对象的特点。

我这个回答是参考的JavaScript权威指南的,有些小问题,第一类中缺少了undefined。

搜索了下,网上还有几种回答:

第一种:共九种类型:1.未定义(undefined) 2.空(null) 3.布尔(boolean) 4.字符串(string) 5.数字(number)6.对象(object) 7.引用(reference) 8.列表(list) 9.完成(completion)。reference,list,completion这3种类型是做为JavaScript运行时中间结果的数据类型 在代码中不能使用。

最后我确实没见过。

第二种:javascript中包含6种数据类型:undefined、null、string、number、boolean和object。其中,前5种是原始数据类型,object是对象类型。object类型中包括Object、Function、String、Number、Boolean、Array、Regexp、Date、Globel、Math、Error,以及宿主环境提供的object类型。

除去reference,list,completion不同外,这几个回答其实大同小异。

2、<img>元素的alt和title有什么异同?

这个我前几天正好看到了一篇这样的文章。这两个属性是有些重复了。在不同浏览器里面表现有些不同。在alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字。

刚刚小小的实验了一把,在没有title的时候,alt会作为图片的解释,但是Firefox好像不这样做。完全测试的话要分图片存不存在、只有title、只有alt,2*2*2,8种情况,真复杂啊。

3、    border-color-left、marin-left、-moz-viewport改写成JavaScript格式

这个就是-后字符换大写,没什么问题。第三个-moz的真不敢确定。(未完待续)

ps:刚接到了百度面试的电话,等了好久,以为没希望了呢,小小高兴一下吧。不过我也没有多大的优势,不管是技术方面还是经验方面只有劣势没有优势,只是rp还行(窃喜一下)。笔试通过的有些侥幸,去百度的希望不大。

继续:刚才试验了一个-moz-border-radius确实是写成MozBorderRadius。

4、 编写一个JavaScript函数,实时显示当前时间,格式“年-月-日 时:分:秒”

主要是用到了各种时间函数,setInterval(funtionName,Time),firstChild.nodeValue。

setInterval函数名我好像写错了。我写的是最普通最简单的函数,每隔一秒钟重新获取时间。有很多值得优化的地方。程序写的不好看,就不献丑了。

5、 用css、html编写一个两列布局的网页,要求右侧宽度为200px,左侧自动扩展。

我主要的想法是右侧绝对定位,左框右边距200px,正好空出了右侧的位置。

我写的CSS如下:

#right{
  position:absolute;
   right:0;
   width:200px;
}
#left{
  marin-right:200px;
}

另一种方法(试验有效):

#right{
  float:right;
  width:200px;
}
#left{
  marin-right:200px;
}

HTML代码中#right必须写在#left前面

<body>
  <div id=”right”>…</div>
  <div id=”left”>…</div>
</body>

这好像是道经典面试题,在某次面试的时候,就被问过这个问题。还有一道经典的问题是如何使固定宽度的div在页面居中。

6、 使用JavaScript深度克隆一个对象?

JavaScript的对象赋值var anObj = anOtherObj 用的是传址方式,不能用于复制对象。

用对象原型写通用性更强些,但是当时对prototype没有十分的把握,只写了个克隆函数。刚刚查了下,果然有猫腻,下面是实现代码:

function Object.prototype.cloneObj()
{
   function NEWOBJECT(){};
   NEWOBJECT. prototype = this;
   var anObj = new NEWOBJECT();
   for ( var ele in anObj )
   {
      if ( typeof anObj[ele] == “object” ) return anObj[ele]. cloneObj();
   }
   return anObj;
}

7.Linux题目:批量删除当前目录下后缀名为.c的文件,如a.c、b.c

我的回答是rm *.c

幸亏我还有点点linux基础,当然更得归功于考前复习了几个常用linux命令。

附加题是Flash的AS题,大概是比较AS2.0和AS3.0在面向对象方面的异同吧。我都有好久好久没有接触过AS了,这题我没答。