10道不错的JavaScript面试题目

2009年11月22日 01:28 阅读 31 web开发 JavaScript 前端

基础部分

1 以下问题简短作答

1.1 Jscript的两种变量范围有什么不同?

1.2 列举Jscript的三种主要数据类型、两种复合数据类型和两种特殊数据类型。

1.3 程序中捕获异常的方法。

2 声明一个字符串数组并初始化,存放用于金额大写的十个中文字符

3 写出下列例程运行的结果
3.1 程序运行完毕后,k等于几?

for (i = 0, j = 0; i < 10, j<6; i++, j++) {
k = i + j;
}

3.2 写出函数DateDemo的返回结果,系统时间假定为今天
function DateDemo() {

var d, s = “今天日期是: “;

d = new Date();

s += d.getMonth() + “/”;

s += d.getDate() + “/”;

s += d.getYear();

return(s);

}

3.3 写出程序最后一条语句执行后变量result的值

var epsilon = 0.00000000001; // 一些需要测试的极小数字。

function integerCheck(a, b, c)

{

if ( (a*a) == ((b*b) + (c*c)) )

return true;

return false;

}

function floatCheck(a, b, c)

{

var delta = ((a*a) – ((b*b) + (c*c)))

delta = Math.abs(delta);

if (delta < epsilon)

return true;

return false;

}

function checkTriplet(a, b, c)

{

var d = 0;

if (b > a)

{

d = a;

a = b;

b = d;

}

if (c > a)

{

d = a;

a = c;

c = d;

}

if (((a % 1) == 0) && ((b % 1) == 0) && ((c % 1) == 0))

{

return integerCheck(a, b, c);

}

else

{

return floatCheck(a, b, c);

}

}

// 下面的三个语句赋给范例值,用于测试。

var sideA = 5;

var sideB = 5;

var sideC = Math.sqrt(50.001);

var result = checkTriplet(sideA, sideB, sideC);

4 写一个函数,返回指定的英文句子中的每个单词及其字符的起止位置

例:”The rain in Spain falls mainly in the plain.”

应依次返回”The 0-3”, ”rain 4-8” … … ”plain 38-43”
高级部分

5 浏览器对 JScript脚本的解释顺序?

6 判断下列表达式的真假

“100″ == 100;

false == 0;

“100″ === 100;

false === 0;

7 如何为语句设定默认对象(通常用来缩短特定情形下必须写的代码量,使代码变得更短且更易读)?在下面的例子中,请注意 Math的重复使用:

1
2
3

x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)

y = Math.tan(14 * Math.E)

8 在对象的属性的个数未知的情况下,如何对该对象的属性进行遍历?

9 书写一个匹配HTML标记的正则表达式

10 构造一个自定义对象,实现对一个矩形的对象化,要求:

a) 描述矩形的标识(name)

b) 描述矩形的颜色(color)

c) 描述矩形的宽度(width)

d) 描述矩形的高度(height)

e) 提供获取矩形面积的方法(getArea())

f) 写出构造函数的完整代码

g) 给出调用的实例代码

还没有评论!