• javascript测试题总结


    1.js的几种数据类型?判断基本数据类型的操作符是什么?

     答案:Number,String,bool,undefined,obejct(此处为null类型属于object,所以此处写object)

        typeof

    2.列举你知道的JS浏览器兼容问题。

     (1)ie不支持ClassName取标签,非ie支持

     (2) 获取非ie窗口的scrolltop值通过document.body.scrollTop

        获取ie窗口的scrolltop值通过document.documentElement.scrollTop

     (3) 通过childNodes获取子节点,ie不能取到回车节点,非ie可以。

     (4) innerText在火狐中不可用

     (5) addEventListener 非ie支持,attachEvent ie专用

     (6) input标签的type属性在ie6中不可修改

    3.setTimeout()和setInterval()的区别以及使用它们需要注意的事项。

    setInterval(函数,time) 它从载入后,每隔指定的时间就执行一次表达式(循环执行) ,一般放控制函数外部。

    setTimeout(函数,time) 在执行时,是在载入后延迟指定时间后,去执行一次表达式, (只执行一次) ,一般放控制函数内部。

    注意:(1) 这两种方法可能看起来非常像,而且显示的结果也会很相似,不过两者的最大区别就是,setTimeout方法不会每隔x秒钟就执行一次函数,它是在每次调用setTimeout后过x秒钟再去执行函数。这意味着如果函数的主体部分需要2秒钟执行完,那么整个函数则要每x+2秒钟才执行一次。而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。

    (2) 注意及时清计时器

    (3)setTimeout(alert(this),20)/ setInterval(alert(this),20)中this都指向window

    (4)不能直接传参

    4.字符串转化为整形的方法,整形转化为字符串的方法。

    (1)parseInt()、Number();

    (2)toString();String();“”;

    5.在团队开发中,你是如何避免JS命名冲突的?

    (1)闭包    ( function ( ) {  } )

    (2) 命名空间

    (3)可以开发前规定命名规范,根据不同开发人员开发的功能在函数前加前缀

    6.简述一下绑定事件的常见方法,它们有什么特点?

    (1)在标签中绑定;

    (2)Element.on+type=func;

    (3)attachEvent("on"+type,func);

    (4)addEventListener(type,func,false); 执行冒泡阶段

      addEventListener(type,func,true); 执行捕获阶段

    7.

    function test(){
        alert(this);
    }
    test();
    var o=['a'];
    o.test = test3 =function(){
        alert(this);
    }
    o.test();
    test3();

    分别弹出什么?为什么?

    第一个弹window,函数中this指向window,

    第二个弹a,方法中的this指向对象

    第三个弹window,test3是一个函数;

    8.

    var a=1;
    function test(){
        a++;
        alert(a);
        var a=1;
        alert(a);
    }
    test();

    结果是多少?为什么?
    第一个弹NaN,a在test()里面找的时候,如果前面没有声明var a;那么a会自动变成var a;但是未赋值,所以是undefined,执行a++的时候会变成NaN,不是一个有效的数值;
    第二个弹1,因为声明了变量a=1;所以弹出1;

  • 相关阅读:
    Mutex和Lock
    Thread和Promise以及packaged_task
    async和Future
    《并行程序设计导论》——读书笔记汇总
    UnrealEngine4蓝图可视化编程 完整例子 勘误
    BOOST下载
    sql 解析xml
    AutoResetEvent 笔记2
    ssh免密登录设置 (普通用户和root用户)
    npm设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/duanhuajian/p/2648132.html
Copyright © 2020-2023  润新知