美文网首页
十三道JS原生面试题

十三道JS原生面试题

作者: statuscode200 | 来源:发表于2018-10-08 08:59 被阅读171次

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

    number string boolean Object function underfind

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

    强制(parseInt,parseFloat,number)

    隐式(== – ===)

    3.split() join() 的区别

    前者是切割成数组的形式,后者是将数组转换成字符串

    4.数组方法pop() push() unshift() shift()

    Push()尾部添加 pop()尾部删除

    Unshift()头部添加 shift()头部删除

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

    普通事件中的onclick是DOM0级事件只支持单个事件,会被其他onclick事件覆盖,而事件绑定中的addEventListener是DOM2级事件可以添加多个事件而不用担心被覆盖

    6.IE和DOM事件流的区别

    1.执行顺序不一样、

    2.参数不一样

    3.事件加不加on

    4.this指向问题

    7.标准和IE下有哪些兼容性的写法

    Var ev = ev || window.event

    Var target =  ev.target || ev.srcElement

    document.documentElement.clientWidth || document.body.clientWidth

    8.写一个获取非行间样式的函数

    function getStyle(obj,attr,value)

    {

    if(!value)

    {

    if(obj.currentStyle)

    {

    return obj.currentStyle(attr)

    }

    else

    {

    obj.getComputedStyle(attr,false)

    }

    }

    else

    {

    obj.style[attr]=value

    }

    }

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

    闭包就是能够读取其他函数内部变量的函数。

    http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)

    10.如何阻止事件冒泡和默认事件

    停止事件复制(冒泡)

    IE:event.cancelBubble=true;

    DOM:event.stopPropagation();

    阻止事件默认行为

    IE:event.returnValue=false;

    DOM:event.preventDefault();

    11.”==”和“===”的不同

    前者会自动转换类型

    后者不会

    12.编写一个数组去重的方法

    function oSort(arr)

    {

    var result ={};

    var newArr=[];

    for(var i=0;i<arr.length;i++)

    {

    if(!result[arr])

    {

    newArr.push(arr)

    result[arr]=1

    }

    }

    return newArr

    }

    13.事件委托是什么

    让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

    http://www.webasily.com/?p=78 例子可见此链接

    相关文章

      网友评论

          本文标题:十三道JS原生面试题

          本文链接:https://www.haomeiwen.com/subject/sfrdaftx.html