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只适合保存很小的数据,如会话 标识。
区别: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> <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> <span>所属分类:海洋</span></p> <p>是一种大型齿鲸。</p> </div> </li> </ul> </div> </body> </html>
9、 【附加题】假设有一个基础对象叫“动物”,拥有以下属性:腿的数量、是否有尾巴,有另外一个对象叫“猫”,拥有“动物”对象的属性,并增加一个属性为:动 物名称,再增加一个方法,返回动物名称+腿的数量+是否有尾巴的描述,请使用javascript原型链继承来创建以上2个对象。
代码:
<!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>