2020-03-26
1.javascript的typeof返回哪些数据类型
(1)基本类型
number string boolean null undefined
Null类型的语义是“一个空的对象引用”(typeof null 结果为obj)
Undefined类型只有一个值undefined,它是变量未被赋值时的值。
(2)引用类型
Object(Array,Date,RegExp,Function)
2、例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,Number())
隐式(==或===)
(1)==之间发生的隐式类型转换;
(1==”1”//true 或 null==undefined//true)
(2)+*/-操作符的隐式类型转换;
(3)逻辑运算符 || &&;
(4)一元运算符 + - !
3、split() join() 的区别
前者是切割成数组的形式,
后者是将数组转换成字符串
4、数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
事件绑定是指把事件注册到具体的元素之上,普通事件指的是可以用来注册的事件
(1)普通事件
var btn = document.getElementById("hello");
btn.onclick = function(){
alert(1);
};
btn.onclick = function(){
alert(2);
}; //这个事件只会弹出2;
①如果说给同一个元素绑定了两次或者多次相同类型的事件,那么后面的绑定会覆盖前面的绑定
②不支持DOM事件流 事件捕获阶段è目标元素阶段=>事件冒泡阶段
(2)事件绑定
var btn = document.getElementById("hello");
btn.addEventListener("click",function(){
alert(1);
},false);//此时的事件就是在事件冒泡阶段执行
btn.addEventListener("click",function(){
alert(2);
},false); //这个事件首先会弹出1,然后在弹出2;
①如果说给同一个元素绑定了两次或者多次相同类型的事件,所以的绑定将会依次触发
②支持DOM事件流的
③进行事件绑定传参不需要on前缀
ie9开始,ie11 edge:addEventListener
ie9以前:attachEvent/detachEvent
①进行事件类型传参需要带上on前缀
②这种方式只支持事件冒泡,不支持事件捕获
6.IE和DOM事件流的区别
1.执行顺序不一样
2.参数不一样
3.事件加不加on
4.this指向问题
IE9以前:attachEvent(“onclick”)、detachEvent(“onclick”)
IE9开始跟DOM事件流是一样的,都是addEventListener
7.IE和标准下有哪些兼容性的写法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.call和apply的区别
(1)call的语法:函数名.call(obj,参数1,参数2,参数3……);
(2) apply的语法:函数名.apply(obj,[参数1,参数2,参数3……]);
toString.call([],1,2,3)
toString.apply([],[1,2,3])
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
这两个东西功能相同,就是把一个函数里面的this设置为某个对象,区别就是后面的参数的语法。
call需要使用逗号分隔列出所有参数,
apply是把所有参数写在数组里面。需要注意的是即使只有一个参数,也必须写在数组里面。
9.b继承a的方法
考点:继承的多种方式
function b(){}
b.prototype=new b();
b.prototype=Object.create(a.prototype);
Object.create(o)相当于内部创建一个新的函数,然后将这个函数的prototype置为o,然后返回由这个函数创建的实例
10.JavaScript this指针、闭包、作用域
(1)this:指向调用上下文
(2)闭包:内层作用域可以访问外层作用域的变量
(3)作用域:定义一个函数就开辟了一个局部作用域,整个js执行环境有一个全局作用域