为何写这个呢,由于感受这份面试题有些我还真不知道,而且有些东西也是知其然而不知其因此然,因此特意写这篇来记录一下这些问题。javascript
- javascript的typeof返回哪些类型?
- 举例3种javascript中的强制类型转换,2中隐式类型转换?
- split(),join()的区别?
- 数组方法pop(),push(),unshift(),shift()?
- 事件绑定和普通事件有什么区别?
- ie和dom事件流的区别?
- ie标准下有哪些兼容性写法?
- ajax请求中get和post有什么区别?
- call和apply的区别?
- ajax请求时,如何解释json数据?
- 事件委托是什么?
- 如何阻止事件冒泡和默认事件?
- javascript的本地对象,内置对象和宿主对象?
- document load和document ready的区别?
javascript的typeof返回的类型,其实只要知道javascript中有哪些类型,这道题就不难解答。null,undefined,object,number,string,boolean。其中object是一种javascript中复杂的数据类型,本质上是由一组无序的名值对组成的。css
javascript是一种弱类型语言,其中提供了一些函数的类型转换诸如parseInt,parseFloat,toString,Number等;隐式的转换有以下状况:前端
- 第一种状况
var a = 2;a = a + '4';
- 第二种状况
var obj = {name:'jack}; if(obj){//do something;}
这里obj被隐式转换成了boolean型java
- 第三种状况
var person = {'name':'jack',"age":20,school:'PKU'}; for(var a in person){ alert(a + ": " + typeof a); }
其实这道题是很简单的,都很经常使用。一个是将字符串分割为数组,一个是将数组链接成字符串面试
理解堆栈和队列这道题就不难ajax
绑定事件是绑定在dom元素上的事件,而普通事件是非dom元素的事件。我理解是这样的。json
ie和dom有如下集中区别数组
- 获取事件的目标是不同的
IE
var oTarget=oEvent.srcElement; //Masintosh的IE同时支持srcElement和target属性
DOM
DOM兼容的游览器上目标包含在target属性中
var oTarget=oEvent.target;- 获取字符代码
IE
var iCharCode = event.keyCode
DOM
在DOM兼容的游览器中,按键的代码和字符会有一个分离,要获取字符代码,使用charCode属性
var iCharCode =event.charCode- 阻止某个事件的默认行为
IE
要在IE中阻止某个事件的默认行为,必须将returnValue属性设置为false
oEvent.returnValue=false;
DOM
要调用preventDefault()方法
oEvent.preventDefault();
好比在右击页面的时候能够阻止事件的默认行为,只要阻止contextmenu事件的默认行为就能够了。- 中止事件的复制(冒泡)
IE
在IE中,要阻止事件的进一步冒泡,必须设置cancelBubble属性为true
oEvent.cancelBubble=true;
DOM
在mozilla中,只须要调用stopPropagation()方法便可
oEvent.stopPropagation()
ie下的一些hacker写法浏览器
background-color: #CC00FF; /*全部浏览器都会显示为紫色*/ background-color: #FF0000\9; /*IE六、IE七、IE8会显示红色*/ *background-color: #0066FF; /*IE六、IE7会变为蓝色*/ _background-color: #009933; /*IE6会变为绿色*/
- 使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来
- 使用Get请求发送数据量小,Post请求发送数据量大
call和apply接受的参数不一样,call接受的是一个个的参数,而apply接受的一个数字型的参数app
其中设置 dataType:"json",使得返回来的数据格式为json。若是不添加该条属性,则返回来的为字符串。字符串对象能够经过eval("("+data+")")方法转成json对象,但该方法不推荐使用,对于取数据的操做同上。区分data为JSON对象仍是字符串,能够经过alert语句进行打印,若是是Object object就是JSON对象,若是将内容显示出来则为字符串。
通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来作,这个事件原本是加在某些元素上的,然而你却加到别人身上来作,完成这个事件。
6中有细讲这两个
javascript的本地对象有如下一些:
Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
内置对象,即 Global 和 Math
全部的BOM和DOM对象都是宿主对象
document ready事件表示文档结构已经加载完成,表示能够对dom进行操做。document load事件表示文档结构之外的包括图片在内的全部元素都加载完成。
这是记录的一些关于这些题目的记录,也有些偏颇。欢迎来喷!!!