更多的问题一路被我收集,有些是前几年收集的。答案不一定正确。如果有错误或更好的解决方案,请改正。
附上第二篇:BAT和各大互联网公司2014年前端笔试面试题-html和CSS文章
前几个问题会很基础,越深入越深。
基本Javascript:
1.什么样的语言是1。JavaScript及其特点是什么?
没有标准答案。
2.2的数据类型有哪些。JavaScript?
基本数据类型:字符串、布尔值、数字、未定义、null。引用数据类型:对象(数组、日期、正则表达式、函数)
那么问题来了,如何判断一个变量是否是数组数据类型?
方法一。确定它是否有“数组属性”,如slice()方法。您可以自己为这个变量定义切片方法,所以有时它会失败。方法二。在某些IE版本中,数组的obj实例不正确。方法三。方法2有漏洞。在ECMA脚本5中定义了一个新方法Array.isArray(),以确保其兼容性。最好的方法如下
if(Array . isarray==' undefined '){ Array . isarray=function(arg){ return object . prototype . tostring . call(arg)=='[object Array]' };}3.我知道ID的Input输入框,想得到这个输入框的输入值。我该怎么办?(不要使用第三方框架)
复制代码如下:文档。getelementbyid ('id ')。价值
4.如果我想获得页面中的所有复选框,我应该怎么做?(不要使用第三方框架)
var DOM list=document . getelementsbytagname(' input ')var checkbox list=[];var len=domList.length//缓存到局部变量while (len - ) {////while比for循环if (dumlist [len])更有效。type==' checkbox') {checkbox。push(dum list[len]);}}5.将已知ID的DIV的html内容设置为xxxx,将字体颜色设置为黑色(不使用第三方框架)
复制代码如下: vardom=document . getelementbyid(' ID ');DOM . innerHTMl=' xxxx " DOM . style . color=' # 000 "
6.当一个DOM节点被点击时,我们希望执行一个函数。我们做什么呢
在DOM中直接绑定事件:div onclick=“test()”/div在JS中由onclick绑定:xxx.onclick=通过添加事件绑定的测试:addeventlistener (xxx,‘click’,test)那么问题来了,Javascript的事件流模型有哪些?
事件冒泡:事件由最具体的元素接收,然后逐级向上扩散:事件由最不具体的节点接收,然后逐级向下到最具体的‘’DOM事件流:三个阶段:事件捕获、目标阶段、事件冒泡。7.什么是Ajax和JSON,它们的优缺点。
Ajax是异步的JavaScript和XML,用来实现网页中的异步数据交互。
优点:
它可以使页面加载本地内容而无需重新加载所有内容,减少数据传输量,避免用户不断刷新或跳转到页面,提高用户体验
缺点:
对搜索引擎不友好(ajax下实现前向和后向功能的高成本可能会导致请求数量的增加,限制跨域问题)
JSON是一种轻量级的数据交换格式。ECMA的子集具有轻量级、易于读写、易于JavaScript解析以及支持复合数据类型(数组、对象、字符串、数字)的优点
8.请看下面的代码输出。解释一下原因。
复制代码如下: var a;警报(a型);//undefinedalert(b);//错误报告
说明:undefined是只有一个值的数据类型,这个值是“Undefined”。当var用于声明变量但其赋值未初始化时,该变量的值是未定义的。b会报告一个错误,因为它没有声明。请注意,未声明的变量不同于未赋值的变量。
9.看看下面的代码,输出是什么?解释一下原因。
复制代码如下:var a=null警报(ty