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执行环境有一个全局作用域

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Listener & Filter (一)监听器的概述 1、什么是监听器 监听器就是一个实现了特定接口的Jav...
    李玉贤_8e75阅读 312评论 0 0
  • Vuex的知识点 1.vuex是什么? Vuex 是一个专为 Vue.js 应...
    中伟_3bef阅读 433评论 0 2
  • day15 监听器 (一)监听器的概述 1、什么是监听器监听器就是一个实现了特定接口...
    漩涡水户阅读 150评论 0 0
  • (一)监听器的概述 1、什么是监听器监听器就是一个实现了特定接口的Java类,这个Java类用于监听另一个Java...
    王月坤阅读 90评论 0 0
  • day16 (一)监听器的概述 1、什么是监听器监听器就是一个实现了特定接口的Java类,这个Java类用于监听另...
    董宇浩阅读 130评论 0 0

友情链接更多精彩内容