Test your JavaScript skill.
CssRain 第一期测试题目:
简单测试一下大家的水平,题目大部分来自网络。
一,选择题。
1,以下哪个单词不属于javascript保留字:(b)
A. with
B. parent
C. class
D. void
2,以下哪条语句会产生运行错误:(a)
A.var obj = ( );
B.var obj = [ ];
C.var obj = { };
D.var obj = / /;
3、请选择结果为真的表达式:(c )
A. null instanceof Object
B. null == undefined
C. NaN ==
NaN
4, JScript是javascript的简称 (b )
A, 对
B, 错
5,(多选)foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ace )
A. foo.att
B. foo(“att”)
C. foo[“att”]
D. foo{“att”}
E. foo[“a”+”t”+”t”]
6、(多选)以下哪些是javascript的全局函数:(abcde)
A. escape
B. parseFloat
C. eval
D. setTimeout
E. alert
7、通过IFrame,网页可以嵌入其他网页内容,并可以动态更改; 这句话对吗?(a)
A. 对
B, 错
8,window.reload()方法可以用来刷新当前页面 ? (a)
A. 对
B, 错
9, 定义了全局变量g;可以用window.g的方式来存取该变量 ? (a)
A. 对
B, 错
10,笔试环境,不要用电脑运行。
<SCRIPT LANGUAGE="JavaScript">
var a_number = 1000
var a_string = String(a_number);
a_string.cssrain = "javascript";
alert(a_string.cssrain);
</SCRIPT>
其中的alert(a_string.cssrain) 将输出? (c )
A:undefined
B : object
C : javascript
11, <SCRIPT LANGUAGE="JavaScript">
var a = 0;
var b = -1;
var c = 1;
function assert (aVar) {
if (aVar==true) alert(true);
else alert(false);
}
assert(a)
assert(b)
assert(c)
</SCRIPT>
其中 后面 3个 将输出 ?()
A:false, true,true
B : false, false,true
C : true, false,true
D : false, false, false
12, <SCRIPT LANGUAGE="JavaScript">
var aVar = "false";
alert(!aVar)
var aVar = "true";
alert(!aVar)
var aVar = "undefined";
alert(!aVar)
</SCRIPT>
A:false, true,true
B : false, false,true
C : true, false,true
D : false, false, false
二,作答题。
13、说几条XHTML规范的内容(至少3条) ?
14.如何获取表单<select>域的选择的文本和值?
<form name="a">
<select name="a" size="1" οnchange=" ">
<option value="a">1</option>
<option value="b">2</option>
<option value="c">3</option>
</select>
</form>
15.在JavaScript中定时2秒后调用函数 foo() ,如何写?
16,写一个foo()函数,要求能够弹出对话框提示当前选中的是第几个单选框。
<form name="form1" οnsubmit="return foo();">
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="radio" name="radioGroup"/>
<input type="submit"/>
</form>
17,把一个网页中 ,最后一个表格的的边框改为红色 。
<TABLE><TR><TD>
<TABLE>
<TR><TD>1</TD><TD>2</TD><TD>3</TD></TR>
</TABLE>
<TABLE>
<TR><TD>2</TD><TD>2</TD></TR>
<TR><TD>3</TD><TD>4</TD></TR>
</TABLE>
<TABLE>
<TR><TD>33</TD><TD>33</TD><TD>33</TD></TR>
<TR><TD>33</TD><TD>33</TD><TD>33</TD></TR>
</TABLE>
</TD></TR></TABLE>
18, <SCRIPT LANGUAGE="JavaScript">
function fun(){
var a = 50;
var b = 60;
var c = 50;
alert(a = b);
alert(a == b);
alert(a == c);
}
fun();
</SCRIPT>
输出结果是?
19,写一个字符串翻转功能的函数。
给定var rain = "c,s,s,r,a,i,n";把这个字符串变成 “n,i,a,r,s,s,c “;
var rain = "c,s,s,r,a,i,n";
function rel(str)
{
// do yourself
}
试题答案如下:
1,B
解释:
var parent = 1;
alert(parent)
/*
描述:
传回该对象的父对象。
语法:
object.parent
此属性已只读权限,这意味着您可以获取他的值,但不可以改变它。
适用于:
窗口
*/
2,A
解释:
var obj1 = [ 1 , 2 ]; //数组直接量就是这么定义的
alert( typeof obj1 )//输出类型。
alert( obj1[0] ) //得到值。
var obj2 = /^abc$/; //正则
alert( typeof obj2 )
var obj3 = { x:1 , y:2 }; //对象直接量
alert( typeof obj3 )
alert( obj3.x ) //得到值。
alert( obj3["x"] ) //或者这样得到值。
3,B
null == undefined 是因为他们的值相同,
null === undefined 是false;因为类型不同.
null和undefined都表示没有值,它们==是我们想要的
但是用typeof就可以知道它们是不同类型的值,所有===就不等
4,B
参考资料:
jscript:由Microsoft公司发行的,用在IE上。
是微软对ECMA262语言规范的一种实现。
因为当初javascript是netscape搞出来的,
那时bill gates还没意识到互联网的重要性,
它的IE出笼以后,必须要支持脚本,
而它的vbscript跟VB关系太密切没有受到太多的追捧,
为了支持 javascript,又要防止引起版权纠纷,
也是为了面子问题,不肯叫javascript,
于是就叫jscript了。
javascript:
最开始web上只有静态的html,
为了满足更好的交互需求,
netscape开发了在Navigator中使用的LiveScript语言,
后来Sun的java风头正盛的时候netscape就把名字改成javascript.
js:通常说的js是javascript的简称。(jscript没有简称,别混淆了)
java:是SUN公司推出的新一代面向对象的程序设计语言,
特别适合于Internet应用程序开发,当然也可以开发其它的应用程序.
jsp:由sun公司推出的以java为基础运行于服务器端的脚本语言.(javaServer Pages的简称)
ECMAScript:jscript和javascript最初的差异很大,
web程序员不得不痛苦的为两种浏览器编写两种脚本。
于是诞生了ECMAScript,是一种国际标准化的javascript版本。
现在的主流浏览器都支持这种版本。
5,ACE
6,ABC
7,A
解释:
在ajax没流行之前,用iframe来忽悠客户,iframe是可以动态改变里面的内容的。
8,B
解释:
是window.location.reload()
9,A
10,A
解释:
var a_number = 1000
var a_string = new String(a_number);//相对于 题目中 多了一个 new . new 了以后就是对象了,不是字符串了,
a_string.cssrain = "javascript";
alert(a_string.cssrain) //将提示 javascript
//有new和没有new是有区别的。这一点在Number,Boolean里都是如此,
11,B
解释:
对比例子 :直接判断条件语句:
<script>
var a = 0;
var b = -1;
var c = 1;
function assert (aVar) {
if (aVar) alert(true);//if(aVar) 和 if (aVar==true) 对负数有截然不同的答案。
else alert(false);
}
assert(a) // false
assert(b) // true
assert(c) // true
</script>
同样字符串比较时候 也要注意 if(aVar) 和 if (aVar==true) .
<script>
function assert (aVar) {
if (aVar) alert(true);
else alert(false);
}
var a="undefined";
var b="false";
var c="";
assert(a) // true
assert(b) // true
assert(c) // false
</script>
注意:上例中的条件判断是直接判断条件语句的,如果我们把条件语句改成:
<script>
function assert (aVar) {
if (aVar==true) alert(true);
else alert(false);
}
var a="undefined";
var b="false";
var c="";
assert(a) // false
assert(b) // false
assert(c) // false
</script>
12,D
解释:是"true" ,而不是true
是字符串,而不是布尔类型。
13,
1):所有的XHTML元素一定要关闭标签
2):属性名必须小写
3):属性要加上引号,比如 checked必须写成checked="checked"
4):不能有不匹配的标签,
14,<form name="a">
<select name="a" size="1" οnchange="sel(this)">
<option value="a">1</option>
<option value="b">2</option>
<option value="c">3</option>
</select>
</form>
<script>
function sel(obj){
alert("显示文本:" + obj.options[obj.selectedIndex].text +" , 值:" + obj.options[obj.selectedIndex].value);
}
</script>
15, <script>
function foo(){
alert("cssrain!");
}
setTimeout( "foo()", 2000);
//或者setTimeout( foo, 2000);
</script>
16,
<script>
function foo()
{
var radios = document.getElementsByName("radioGroup");
for(var i =0;i<radios.length;i++){
if( radios[i].checked ){
alert("你选择了第"+(i+1)+"个")
}
}
}
</script>
17,<SCRIPT LANGUAGE="JavaScript">
var tables = document.getElementsByTagName("table");
tables[tables.length - 1].style.border = "1px solid red";
//注意是用 tables[tables.length - 1]
//而不是 tables(tables.length - 1)
//FF下 tables(tables.length - 1) 不支持。
</SCRIPT>
18,
答案:
60
true
false
19,<SCRIPT LANGUAGE="JavaScript">
var rain = "c,s,s,r,a,i,n";
function rel(str)
{
var ps = str.split(",");
var newStr = "";
for(var i=ps.length-1;i>=0;i--){
newStr += ps[i]+",";
}
newStr = newStr.substring(0 , newStr.length-1);
return newStr;
}
alert( rel(rain) )
</SCRIPT>
另类解决:
<SCRIPT LANGUAGE="JavaScript">
var jian = "c,s,s,r,a,i,n";
function cov(str)
{
var strLen = str.length;
var strChar = str;
var newStr = "";
for(var i=strLen;i>=1;i=(i-2)){
newStr +=strChar.substring(i-1 ,i);
}
return newStr;
}
alert( cov(jian) )
</SCRIPT>
方法3:
<SCRIPT LANGUAGE="JavaScript">
var rain = "c,s,s,r,a,i,n";
function rel(str)
{
var rs = str.split(",");
rs.reverse();
return rs.join(",");
}
alert(rel(rain))
</SCRIPT>