面试题总结

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

   number,string,boolean,underfind,symbol(ES6),Object,Function

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

 强转:string,Number,Boolean,parseInt,parseFloat

隐式转换:

(1).四则运算

    加法运算符+是双目运算符,只要其中一个是string类型,表达式的值便是一个String。

    对于其他的四则运算,只有其中一个是Number类型,表达式的便是一个Number。

    对于非法字符的情况通常会返回NaN:'1'*'a'    // => NaN,这是因为parseInt(a)值为NaN,                 1*NaN还是NaN

(2).判断语句

    判断语句中的判断条件需要是 Boolean类型,所以条件表达式会被隐式转换为Boolean。     其转换规则则同Boolean的构造函数。比如:

  var obj = {};

      if(obj){

   while(obj);

     }

3.事件绑定和普通事件有什么区别

 div1.οnclick=function(){};
  1、如果说给同一个元素绑定了两次或者多次相同类型的事件,那么后面的绑定会覆盖前面 的绑    定
  2、不支持 DOM 事件流 事件捕获阶段目标元素阶段=>事件冒泡阶段

  addEventListener
 1、 如果说给同一个元素绑定了两次或者多次相同类型的事件,所有的绑定将会依次触发 2、 支      持 DOM 事件流的 3、 进行事件绑定传参不需要 on 前缀 addEventListener(“click”,function()          {},true);//此时的事件就是在事件冒泡阶段执行
4.IE和DOM事件流的区别

    1.执行的顺序不一样:事件的执行顺序不一样       

     冒泡型事件模型(IE事件流): button->div->body

     捕获型事件模型(Netscape事件流): body->div->button

      DOM事件模型: body->div->button->button->div->body (先捕获后冒泡)

    2.IE和DOM事件侦听函数的区别

    3.事件参数不一样和this指向不一样

      attachEvent接受两个参数,第一个参数是事件名称,第二个fnHandler是回调处理函数

      IE下利用attachEvent注册的处理函数调用时this指向不再是先前注册事件的元素,这时的               this  window对象

     addEventListener方法接受三个参数

           第一个参数是事件名称,值得注意的是,这里事件名称与IE的不同,事件名称是没’on’开头             的;

           第二个参数fnHandler是回调处理函数;

           第三个参数注明该处理回调函数是在事件传递过程中的捕获阶段被调用还是冒泡阶段被调用

       this关键字仍然指向被绑定的DOM元素

5.call和apply的区别

   apply和call的功能是一样的,只是传入的参数列表形式不同

    call多个参数,apply两个参数 第二个参数以数组形式

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

js:
appendChild()
//添加

removeChild()
//删除节点

insertBefore(插入节点,被插节点)
//插入(前插后)

replaceChild(新节点,旧节点)
//替换(前替换后)

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

本地对象包括如下内容:Object、Function、String、Array、Boolean、Number、Date、 RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError。由此可知,本地对象是ECMA-2定义的类(引用类型)

内置对象:Math对象的常见属性,Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在,

宿主对象:所有非本地对象都是宿主对象(host Object),即由ECMAScript实现的宿主环境提供的对象。所有的BOM和DOM对象都是宿主对象

8.js延迟加载的方式有哪些

1.defer 属性:

2.async 属性

3..使用setTimeout延迟方法

4.让js最后加载

9.闭包是什么,有什么特性,对页面有什么影响

简单来理解:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。

  • 封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
  • 持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在
  • 通过使用闭包,我们可以做很多事情。比如模拟面向对象的代码风格;更优雅、更简洁的表达出代码;在某些方面提升代码的执行效率。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值