zoukankan      html  css  js  c++  java
  • 2016届百度实习生前端笔试题上海卷a

    1、写出javascript运行结果:alert(‘5’+5);

    结果:alert()函数中不能进行算术运算或字符串拼接,故不会弹出对话框。


     
    2、写出javascript运行结果:for(var i=0; i<10; i++){} alert(i);
    结果:10

     
    3、Cookie、sessionStorage、localStorage的区别
    共同点:都是保存在浏览器端,且同源的。
    区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和 localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径 下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话 标识。
      

    4、javascript中call()方法和apply()方法的区别。
    var a1 = sub.call(add, 4, 2);//可以理解为将add当作sub来调用,也就是参数通过add传入,但执行用sub来代替add。
    参考:call()和apply()方法作用相同,动态改变运行上下文,跨作用域调用函数或方法。
    区别:唯一区别在于两个方法的第二个参数,call()方法的第二个参数是依次给将要调用的函数或方法传递参数;而apply()方法的第二个参数是数组或类数组(arguments)。
    例子:foo.call(this, para1,para2,para3)等价于foo.apply(this,[para1,para2,para3])
     

     
    5、什么是 “use strict”? 使用它的好处和坏处是什么?
    参 考:”use strict”(严格模式) 是在ECMAScript5中提出来的,是为javascript定义了一种不同的解析与执行模型。在严格模式下,ECMAScript3中一些不确定的 行为将得到处理,而且对某些不安全操作也会抛出错误。(参考《javascript高级程序设计》)严格模式分为全局严格模式和局部严格模式。
    好处:(1)、消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
       (2)、消除代码运行的一些不安全之处,保证代码运行的安全;
       (3)、提高编译器效率,增加运行速度;
       (4)、为未来新版本的Javascript做好铺垫。
    坏处:在一个全局环境下使用严格模式,会使得非严格模式下的代码merge后可能出现问题。
     
     
    6、写一段简单的正则表达式,匹配并取出字符串”https://www.baidu.com/s?cl=3”中的域名部分(注:域名部分非固定)
     1 var str="https://www.baidu.com/s?cl=3";
     2 
     3 var reg=/https://([A-Za-z.]+)/S+/;
     4 
     5 var result=reg.exec(str);
     6 
     7 if(result){
     8 
     9 alert(result[1]);
    10 
    11 }
    7、用原生javascript编写程序:创建一个ul无序列表元素添加到body中,ul下包含5个li元素,每个li元素包含一个text类型元素,text元素内容可自定义。
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     2 <html lang="en">
     3 <head>
     4     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     5     <title>2015百度实习笔试题7</title>
     6     <script>
     7     window.onload=function(){
     8         var ulNode=document.createElement('ul');
     9         var bodyNode=document.getElementsByTagName('body');
    10         bodyNode[0].appendChild(ulNode);
    11         for(var i=0; i<5; i++){
    12             var liNode=document.createElement('li');
    13             var textNode=document.createTextNode('li'+i);
    14             liNode.appendChild(textNode);
    15             ulNode.appendChild(liNode);
    16         }
    17     }
    18     </script>
    19 </head>
    20 <body>
    21     
    22 </body>
    23 </html>

    8、用HTML和css实现如下布局,只需写出排版结构及样式,不要求把内容一起写上。

     
     
    代码:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>2015百度实习笔试题8</title>
        <style>
            li{ list-style-type: none;}
            .info{ float: left; margin: 0 20px 20px;}
        </style>
    </head>
    <body>
        <div class="main">
            <ul>
                <li><div style="margin: 20px;"><b>精彩分类</b></div></li>
                <li>
                    <div class="info"><img src="0000.png" alt="捕食草" /></div>
                    <div class="info">
                        <p><span>捕食草</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>所属分类:草本植物</span></p>
                        <p>是一种食虫植物。</p>
                    </div>
                </li>
                <li style="clear: both;"></li>
                <li>
                    <div class="info"><img src="0000.png" alt="虎鲸"> </div>
                    <div class="info">
                        <p><span>虎鲸</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>所属分类:海洋</span></p>
                        <p>是一种大型齿鲸。</p>
                    </div>
                </li>
            </ul>
        </div>
    </body>
    </html>

    9、 【附加题】假设有一个基础对象叫“动物”,拥有以下属性:腿的数量、是否有尾巴,有另外一个对象叫“猫”,拥有“动物”对象的属性,并增加一个属性为:动 物名称,再增加一个方法,返回动物名称+腿的数量+是否有尾巴的描述,请使用javascript原型链继承来创建以上2个对象。

    关于prototype的理解

    代码:

    <!DOCTYPE html>
    
    <!--  js_event1.html  -->
    <html>
        <head>
            <script type="text/javascript">
    function Animal() {
    }
    Animal.prototype.leg = 4;
    Animal.prototype.tail = true;
    var animal = new Animal();
    function Cat() {
    }
    Cat.prototype = animal;
    Cat.prototype.name = 'cat';
    Cat.prototype.getInfo = function() {
        return "Animal's name:" + this.name + ",number of leg:" + this.leg
                + ",has tail:" + Boolean(this.tail);
    };
    alert(Cat.prototype.getInfo());
    var cat = new Cat();
    alert(cat.getInfo());
    
    function Animal(leg, tail) {
        this.leg = leg;
        this.tail = tail;
    }
    
    function Cat(name, leg, tail) {
        Animal.call(this, leg, tail);
        this.name = name;
        this.getInfo = function() {
            return "Animal's name:" + this.name + ",number of leg:" + this.leg
                    + ",has tail:" + Boolean(this.tail);
        };
    }
    
    var cat = new Cat('cat', 4, true);
    cat.getInfo();
    </script>
        </head>
        <body>
    
        </body>
    </html>
  • 相关阅读:
    Exercise02_09
    Exercise02_05
    Exercise02_01
    Exercise02_03
    Exercise02_07
    web.xml配置详解
    面对不成功的人生
    请不以结婚为目的的恋爱吧
    年轻人能为世界做点什么
    不作就不会活
  • 原文地址:https://www.cnblogs.com/hzhtracy/p/4607207.html
Copyright © 2011-2022 走看看