一、Javascript
1.javascript的typeof返回哪些数据类型
答: Object number function boolean underfind
2.例举3种强制类型转换和2种隐式类型转换?
答:强制(parseInt,parseFloat,number)
隐式(== – ===)
3.split() join() 的区别
答:前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
答:Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5、事件绑定和普通事件有什么区别
答:事件绑定就是针对dom元素的事件,绑定在dom元素上
普通事件即为非针对dom元素的事件
6.IE和DOM事件流的区别
答:1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.ajax请求的时候get 和post方式的区别
答:一个在url后面 一个放在虚拟载体里面
1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来
2.使用Get请求发送数据量小,Post请求发送数据量大
8.call和apply的区别
答: call方法:
语法:call(thisObj,Object)
定义:调用一个对象的一个方法,以另一个对象替换当前对象。
说明:
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
apply方法:
语法:apply(thisObj,[argArray])
定义:应用某一对象的一个方法,用另一个对象替换当前对象。
说明:
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
9.ajax请求时,如何解释json数据
答:使用eval parse 鉴于安全性考虑 使用parse更靠谱
10.事件委托是什么
答:让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
11.闭包是什么,有什么特性,对页面有什么影响
答:“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
通俗的讲:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。
闭包的特性:
①.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
②.持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在
缺点:
使用闭包会占有内存资源,过多的使用闭包会导致内存溢出等.
12.如何阻止事件冒泡和默认事件
答:canceBubble return false
13.添加 删除 替换 插入到某个接点的方法
答:插入:obj.appendChidl()
添加: obj.innersetBefore
替换: obj.replaceChild
移除: obj.removeChild
14.解释jsonp的原理,以及为什么不是真正的ajax
答: 动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作
15.javascript的本地对象,内置对象和宿主对象
答:本地对象为array obj regexp等可以new实例化
内置对象为gload Math 等不可以实例化的
宿主为浏览器自带的document,window 等
16.document load 和document ready的区别
答:Document.onload 是在结构和样式加载完才执行js
Document.ready原生种没有这个方法,jquery中有 $().ready(function)
17.”==”和“===”的不同
答:前者会自动转换类型
后者不会
18.javascript的同源策略
答:一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合