常用的浏览器内核
使用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
}
}
事件委托是什么
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行
闭包是什么,有什么特性,对页面有什么影响
闭包是怎么一回事
如何阻止事件冒泡和默认事件
添加 删除 替换 插入到某个接点的方法
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