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;

本文转自挨踢前端博客园博客,原文链接http://www.cnblogs.com/duanhuajian/archive/2012/08/20/2648132.html如需转载请自行联系原作者


@挨踢前端

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
5天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
1月前
|
人工智能 监控 JavaScript
模拟依赖关系和 AI 是Vue.js测试的下一个前沿领域
模拟依赖关系和 AI 是Vue.js测试的下一个前沿领域
27 1
|
1月前
|
JavaScript 前端开发
JavaScript - 测试 Prototype
JavaScript - 测试 Prototype
9 0
|
1月前
|
JavaScript 前端开发
JavaScript - 测试 jQuery
JavaScript - 测试 jQuery
12 0
|
3月前
|
Web App开发 应用服务中间件 定位技术
three.js:三维模型加载量测试
three.js:三维模型加载量测试
160 4
|
3月前
|
JavaScript 前端开发 测试技术
Vue.js开发者必看!Vue Test Utils携手端到端测试,打造无懈可击的应用体验,引领前端测试新风尚!
【8月更文挑战第30天】随着Vue.js的普及,构建可靠的Vue应用至关重要。测试不仅能确保应用质量,还能提升开发效率。Vue Test Utils作为官方测试库,方便进行单元测试,而结合端到端(E2E)测试,则能构建全面的测试体系,保障应用稳定性。本文将带你深入了解如何使用Vue Test Utils进行单元测试,通过具体示例展示如何测试组件行为;并通过Cypress进行E2E测试,确保整个应用流程的正确性。无论是单元测试还是E2E测试,都能显著提高Vue应用的质量,让你更加自信地交付高质量的应用。
66 0
|
3月前
|
JavaScript 前端开发 应用服务中间件
【qkl】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
【区块链】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的高中信息技术课程在线测试系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的高中信息技术课程在线测试系统附带文章和源代码部署视频讲解等
49 6
|
5月前
|
前端开发 JavaScript 算法
JavaScript事件监听测试代码
JavaScript事件监听测试代码
32 0
下一篇
无影云桌面