image

编辑人: 青衫烟雨

calendar2025-05-31

message6

visits522

Javascript终极面试题大全

常用的浏览器内核
使用Trident内核的浏览器:IE、Maxthon、TT、The World等;
使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;
使用Presto内核的浏览器:Opera7及以上版本;
使用Webkit内核的浏览器:Safari、Chrome
常用的DOM操作,新建、添加、删除、移动、查找等
(1)创建新节点
      createDocumentFragment() //创建一个DOM片段
      createElement() //创建一个具体的元素
      createTextNode() //创建一个文本节点
(2)添加、移除、替换、插入
      appendChild()
      removeChild()
      replaceChild()
      insertBefore()
(3)查找
      getElementsByTagName() //通过标签名称
      getElementsByName() //通过元素的Name属性的值
      getElementById() //通过元素Id,唯一性
DOM的默认事件、事件模型、事件委托、阻止默认事件、冒泡事件的方式等

 
jQuery的bind、live、on、delegate的区别(考察点与上一条重叠,切入点不同)

 
JS变量提升、匿名函数、原型继承、作用域、闭包机制等

闭包是怎么一回事
红宝书整理—创建对象方法

对HTTP协议的理解
超文本传输协议
所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站
Ajax的常用操作,JS跨域的实现原理

 
一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?越详细越好
0.输入URL
1.解析URL
2.构造并发送HTTP请求
3.HTTP报文传输过程
4.服务器接受并处理HTTP报文
5.服务器构造并发送响应报文(传输过程略)
6.浏览器接收报文,并开始构建页面
7.(可选)浏览器发送静态资源请求(处理过程略)
8.(可选)浏览器发送Ajax请求(处理过程略)
9.页面构建完成
谈一下你所知道的页面性能优化方法?
前端开发工作者可以控制的是什么呢?那就是xhtml,css,js的代码及相应的修饰(背景)图片。下面我就根据我自己的经验来说说:
1、提倡前端开发工程师在书写xhtml的时候做到结构语义化
2、css、js文件数量及大小的优化
3、背景图片数量及大小的优化
4、内容图片的大小的优化
5、把样式表置于顶部、把脚本置于页面底部
6、避免使用 CSS 表达式(Expression),使用外部 JavaScript 和 CSS,削减 JavaScript 和 CSS
7、用 <link> 代替 @import
8、剔除重复脚本,减少DOM访问
如何分析页面性能?

转自知乎

javascript的typeof返回哪些数据类型
Object number function boolean underfind
例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)
隐式(=====
split() join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串
数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
事件绑定和普通事件有什么区别
事件绑定就是针对dom元素的事件,绑定在dom元素上
普通事件即为非针对dom元素的事件
IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
IE和标准下有哪些兼容性的写法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
ajax请求的时候get 和post方式的区别
一个在url后面 一个放在虚拟载体里面
有大小限制
安全问题
应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
call和apply的区别

迷惑人的this call apply

Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
ajax请求时,如何解释json数据
使用eval parse 鉴于安全性考虑 使用parse更靠谱
b继承a的方法
写一个获取非行间样式的函数
function getStyle(obj, attr, value)
{
  if (!value)
  {
    if (obj.currentStyle)
    {
      return obj.currentStyle(attr)
    } 
    else
    {
      obj.getComputedStyle(attr, false)
    }
  } 
  else
  {
    obj.style[attr] = value
  }
}
事件委托是什么
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行
闭包是什么,有什么特性,对页面有什么影响

闭包是怎么一回事

闭包就是能够读取其他函数内部变量的函数。
如何阻止事件冒泡和默认事件
canceBubble return false
添加 删除 替换 插入到某个接点的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
解释jsonp的原理,以及为什么不是真正的ajax
动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作
javascript的本地对象,内置对象和宿主对象
本地对象为array obj regexp等可以new实例化
内置对象为gload Math 等不可以实例化的
宿主为浏览器自带的document,window
document load 和document ready的区别
Document.onload 是在结构和样式加载完才执行js
Document.ready原生种没有这个方法,jquery中有 $().ready(function)
“==”和”===”的不同
前者会自动转换类型
后者不会
javascript的同源策略
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
编写一个数组去重的方法
function oSort(arr)
{
  var result = {
  };
  var newArr = [
  ];
  for (var i = 0; i < arr.length; i++)
  {
    if (!result[arr])
    {
      newArr.push(arr)
      result[arr] = 1
    }
  }
  return newArr

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:Javascript终极面试题大全

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share