js基础
一、单选题
1、以下哪条语句会产生运行错误:(A)
A.varobj=();
B.varobj=[];//定义一个数组
C.varobj={};//定义一个对象
D.varobj=//;//定义一个正则表达式
2、以下哪个单词不属于javascript保留字:(B)
A.with
B.parent
C.class
D.void
3、请选择结果为真的表达式:(C)
A.nullinstanceofObject
B.null===undefined
C.null==undefined
D.NaN==NaN
说明:
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。
举例说明:
"1"==true
类型不同,"=="将先做类型转换,把true转换为1,即为"1"==1;
此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为1==1;
此时,"=="左右两边的类型都为数值型,比较成功!
如果比较:"1"===true左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
如果比较:"1"===1左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;
如果比较:1===1左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
如果比较:1===2左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;
简而言之就是"=="只要求值相等;"==="要求值和类型都相等
二、不定项选择题
4、请选择对javascript理解有误的:(ABCD)
A.JScript是javascript的简称、
B.javascript是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度(没有什么关系)。
C.FireFox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上
D.AJAX技术一定要使用javascript技术
说明:
Java、javascript、JS和JScript
首先,这三者没有必然的联系,它们是完全不同的事物,它们是分别由不同公司开发的,在函数方面有相同的地方,也有很多不同之处。Java是由Sun公司创立、开发;javascript则是Sun和Netscape公司共同开发的产品;JScript是微软对ECMA262语言规范的一种实现。这三者的共同点是,语法与C语言相似。
JS是javascript的简称。
JScript应用于ASP,运行于服务器端。而Java、javascript都是运行于客户端。Sun公司后来又推出了JSP,以Java语言为基础,运行于服务器端。运行于服务器端的网页是动态网页,所以以JScript为基础的ASP、以Java为基础的JSP是动态网页,而Java、javascript则是静态网页。
ajax是一种概念,它是几种技术的综合运用(javascript,xml),ajax可以用在任何动态语言开发的网站里(asp,asp.net,jsp,php等)。它不为微软专有,不过呢,微软为asp.net专门开发了一个ajax框架。
5、foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ACE)
A.foo.att
B.foo(“att”)
C.foo[“att”]
D.foo{“att”}
E.foo[“a”+”t”+”t”]
6、以下哪些是javascript的全局函数:(ABC)
A.escape
B.parseFloat
C.eval
D.setTimeout
E.alert
说明:
全局属性和函数可用于所有内建的JavaScript对象。
顶层函数(全局函数)
FF:Firefox,IE:InternetExplorer
函数
描述
FF
IE
decodeURI()
解码某个编码的URI。
1
5.5
decodeURIComponent()
解码一个编码的URI组件。
1
5.5
encodeURI()
把字符串编码为URI。
1
5.5
encodeURIComponent()
把字符串编码为URI组件。
1
5.5
escape()
对字符串进行编码。
1
3
eval()
计算JavaScript字符串,并把它作为脚本代码来执行。
1
3
getClass()
返回一个JavaObject的JavaClass。
isFinite()
检查某个值是否为有穷大的数。
1
4
isNaN()
检查某个值是否是数字。
1
3
Number()
把对象的值转换为数字。
1
parseFloat()
解析一个字符串并返回一个浮点数。
1
3
parseInt()
解析一个字符串并返回一个整数。
1
3
String()
把对象的值转换为字符串。
1
unescape()
对由escape()编码的字符串进行解码。
1
3
顶层属性(全局属性)
FF:Firefox,IE:InternetExplorer
方法
描述
FF
IE
Infinity
代表正的无穷大的数值。
1
4
java
代表java.*包层级的一个JavaPackage。
NaN
指示某个值是不是数字值。
1
4
Packages
根JavaPackage对象。
undefined
指示未定义的值。
1
5.5
7、关于IFrame表述正确的有:(ABCD)
A.通过IFrame,网页可以嵌入其他网页内容,并可以动态更改
B.在相同域名下,内嵌的IFrame可以获取外层网页的对象
C.在相同域名下,外层网页脚本可以获取IFrame网页内的对象
D.可以通过脚本调整IFrame的大小
8、关于表格表述正确的有:(ABCDE)
A.表格中可以包含TBODY元素
B.表格中可以包含CAPTION元素
C.表格中可以包含多个TBODY元素
D.表格中可以包含COLGROUP元素
E.表格中可以包含COL元素
表格标签
表格
描述
<table>
定义表格
<caption>
定义表格标题。
<th>
定义表格的表头。
<tr>
定义表格的行。
<td>
定义表格单元。
<thead>
定义表格的页眉。
<tbody>
定义表格的主体。
<tfoot>
定义表格的页脚。
<col>
定义用于表格列的属性。
<colgroup>
定义表格列的组。
9、关于IE的window对象表述正确的有:(ACD)
A.window.opener属性本身就是指向window对象
B.window.reload()方法可以用来刷新当前页面
C.window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面
D.定义了全局变量g;可以用window.g的方式来存取该变量
三、问答题:
1、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制
sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序
可以自己定义排序方法,很不多的函数
2、简述DIV元素和SPAN元素的区别。
DIV有回车,SPAN没有
DIV是块元素,SPAN是内嵌元素。块元素相当于内嵌元素在前后各加一个<br>换行。其实,块元素和行内元素也不是一成不变的,只要给块元素定义display:inline,块元素就成了内嵌元素,同样地,给内嵌元素定义了display:block就成了块元素了。
DIV(division)是一个块级元素,可以包含段落、标题、表格,乃至诸如章节、摘要和备注等。而SPAN是行内元素,SPAN的前后是不会换行的,它没有结构的意义,纯粹是应用样式,当其他行内元素都不合适时,可以使用SPAN。
3、结合text这段结构,谈谈innerHTMLouterHTMLinnerText之间的区别。
innerHTML对象里面的HTML,outerHTML包括对象和里面的
innerText对象里面的文本
4、说几条XHTML规范的内容(至少3条)
属性加引号,不能有不匹配的标签,加定义
5、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?
网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的网站标准也分三方面:结构化标准语言,主要包括XHTML和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。
6、vara=10;varb=20;varc=10;alert(a=b);alert(a==b);alert(a==c);结果是?
结果:20,true.false;
7、form中的input有哪些类型?各是做什么处理使用的?
textradiocheckboxfilebuttonimagesubmitresethidden
submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了。
如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为,否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作两次。
button具有name、value属性,能触发onclick事件
submit继承了button
submit增加了触发表单onsubmit事件的功能、增加了执行表单的submit()方法的功能
INPUTtype=submit按回车提交表单
button提交的是innerTEXT
8、table标签中border,cellpaddingtd标签中colspan,rowspan分别起什么作用?
border边界
cellpadding,是补白,是指单元格内文字与边框的距离
cellspacing,两个单元格之间的距离
colspan跨列数
rowspan跨行数
9、form中的input可以设置readonly和disable,请问这两项属性有什么区别?
readonly不可编辑,但可以选择和复制
disable不能编辑复制选择
10、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
alert
confirm
prompt
四、编程题:
1、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。
Html代码收藏代码
<html>
<head>
<script>
functionfoo()
{
//在此处添加代码
varrg=document.getElementsByName("radioGroup");
for(vari=0;i<rg.length;i++)
{
if(rg[i].checked)
{
alert("你选择了第"+(i+1)+"个单选框");
}
}
returnfalse;
}
</script>
</head>
<body>
<formname="form1"onsubmit="foo();">
<inputtype="radio"name="radioGroup"/>
<inputtype="radio"name="radioGroup"/>
<inputtype="radio"name="radioGroup"/>
<inputtype="radio"name="radioGroup"/>
<inputtype="radio"name="radioGroup"/>
<inputtype="radio"name="radioGroup"/>
<inputtype="submit"/>
</form>
</body>
</html>
2、填充注释部分的函数体,使得foo()函数调用弹出”成功”的对话框。代码应尽量简短。
functionreverse(str){
//在此处加入代码,完成字符串翻转功能
returnstr.split(",").reverse().join(",");
}
Html代码收藏代码
<html>
<head>
<script>
functionfoo()
{
varstr=reverse('a,b,c,d,e,f,g');
alert(str);
if(str=='g,f,e,d,c,b,a')
alert('成功');
elsealert('失败');
}
functionreverse(str)
{
//在此处加入代码,完成字符串翻转功能
varspl=str.split(',');
varnewstr="";
for(i=spl.length-1;i>=0;i--)
{
newstr+=spl[i]+',';
}
newstrnewstr=newstr.substring(0,newstr.length-1)
returnnewstr;
}
</script>
</head>
<body>
<inputtype="button"value="str"onclick="foo()"/>
</body>
</html>