百度前端面试题目

 

、    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、 用csshtml编写一个两列布局的网页,要求右侧宽度为200px,左侧自动

展。


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

我写的css如下:


  1.  
  2. #right{
     
  3.   position:absolute;
     
  4.   right:0;
     
  5.   width:200px;
     
  6. }
     
  7. #left{
     
  8.   marin-right:200px;
     
  9. }
复制代码

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




 

 


  1.  
  2. #right{
     
  3.   float:right;
     
  4.   width:200px;
     
  5. }
     
  6. #left{
     
  7.   marin-right:200px;
     
  8. }
复制代码

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




 

 


  1.  
  2. <body>
     
  3.   <div id=”right”>…</div>
     
  4.   <div id=”left”>…</div>
     
  5. </body>
复制代码

这好像是道经典面试题,在某次面试的时候,就被问过这个问题。还有一道经典的问题

是如何使固定宽度的div在页面居中。

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

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


用对象原型写通用性更强些,但是当时对prototype没有十分的把握,只写了个克隆函

数。刚刚查了下,果然有猫腻,下面是实现代码:


  1.  
  2. function Object.prototype.cloneObj()
     
  3. {
     
  4.   function NEWOBJECT(){};
     
  5.   NEWOBJECT. prototype = this;
     
  6.   var anObj = new NEWOBJECT();
     
  7.   for ( var ele in anObj )
     
  8.   {
     
  9.      if ( typeof anObj[ele] == “object” ) return anObj[ele]. cloneObj();
     
  10.   }
     
  11.   return anObj;
     
  12. }
复制代码

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

我的回答是rm *.c

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

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

好久没有接触过AS了,这题我没答。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值