1.javascript的typeof返回哪些数据类型

alert(typeof [1, 2]); //object
alert(typeof 'leipeng'); //string
 
var i = true; 
alert(typeof i); //boolean
 
alert(typeof 1); //number
 
var a; 
alert(typeof a); //undefined
function a(){;};
alert(typeof a) //function

2.例举3种强制类型转换和2种隐式类型转换

强制转换:parseInt()、parseFloat()、Number()
隐式转换:==、!!(!!常用于判断非空)
if(!!a){
    //a有内容才执行的代码...  
}

3.常见API与数组方法

Push()

尾部添加

pop()

尾部删除

Unshift()

头部添加

shift()

头部删除

split()

切割成数组的形式

join()

将数组转换成字符串

4.IE和DOM事件流的区别

(1)执行顺序不一样;
(2)参数不一样;
(3)事件加不加on;
(4)this指向问题。

5.call和apply的区别

call方法:
        语法:call(thisObj,Object1,Object2...)
        定义:调用一个对象的一个方法,以另一个对象替换当前对象,改变当前的this指向的问题。
        说明:call 方法可以用来代替另一个对象调用一个方法,可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 
apply方法: 
        语法:apply(thisObj,[argArray])
        定义:应用某一对象的一个方法,用另一个对象替换当前对象。 
        说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

6.b继承a的方法

function A( age, name ){ 
  this.age = age; 
  this.name = name; 
} 
 
A.prototype.show = function(){ 
  alert('父级方法'); 
} 
 
function B(age,name,job){ 
  A.apply( this, arguments ); 
  this.job = job; 
} 
 
B.prototype = new A();
var b = new A(14,'侠客行'); 
var a = new B(15,'狼侠','侠客'); 

7.添加 删除 替换 插入到某个节点的方法

obj.appendChid()
 
obj.removeChild()
 
obj.replaceChild()
 
obj.insertBefore()

8.javascript的本地对象,内置对象和宿主对象

本地对象为array、obj、regexp等可以new实例化;
内置对象为gload、Math等不可以实例化的;
宿主为浏览器自带的document、window 等。

9.window.onload 和document.ready的区别

引入js文件的两种方式:一种原生的,一种是jQuery库的入口函数。
       window.onload 是在dom文档树加载完和所有文件加载完之后执行一个函数Document.ready原生种没有这个方法,jquery中有 $(document).ready(function(){代码}),在dom文档树加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。
       $(document).ready要比window.onload先执行,执行的上下文不同,window.onload只能出来一次,$(document).ready可以出现多次。

 10.”==”和“===”的不同、javascript的同源策略是指?

        前者会自动转换类型,只是比较数值,不比较数据类型,后者即比较数据类型也比较数值。
       一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、议和端口号的组合。