HTML
1..innerHTML,innerText,outerHTML,innerText的区别?
•innerHTML 设置或获取位于对象起始和结束标签内的 HTML
•outerHTML 设置或获取对象及其内容的 HTML 形式
•innerText 设置或获取位于对象起始和结束标签内的文本
•outerText 设置(包括标签)或获取(不包括标签)对象的文本
2.form中的input有哪些类型?各是做什么处理使用的?
button:普通按钮
submit:提交按钮
reset:重置表单按钮
image:图片按钮
text:文本
password:密码
file:上传文件
radio:单选框
checkbox:复选框
hidden:隐藏
3.table标签中border,cellpadding , td标签中colspan,rowspan分别起什么作用?
border:边框
cellpadding:边距
colspan:跨列数
rowspan:跨行数
4.说几条XHTML规范的内容(至少3条)
属性加引号,标签闭合等
5.如何将网页中用gb2312编码形式编写的HTML文件转换成utf-8编码形式的HTML文档?
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
这句话改成
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
或者用dw、sublime text进行转码
6.js的转向函数是什么
window.location.href
JS
1.以下哪个单词不属于javascript保留字:()
A. with
B. parent
C. class
D. void
【答案】B
2.以下哪些是javascript的全局函数:()
A. escape
B. parseFloat
C. eval
D. setTimeout
E. alert
【解析】JavaScript 中包含以下 7 个全局函数:escape( )、eval( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。
【答案】ABC
3.谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制
sort方法用于对数组进行排序,默认是按照从小到大排列。它的参数是个闭包函数,用来确定排序规则,如果有参数,就会按照参数的返回值的正负来判断怎么排序,比如arr.sort(function(a,b){return a-b;}),若果返回值是正数,就把b排到a前面,相当于一个简写的冒泡排序法。
4.对方法声明中的错误代码:function Add(int i1,int i2) 分析正确的是()
A.参数不能指定数据类型
B.没有指定返回类型
C.没有指定访问
D.Function不是方法声明的关键字
【解析】js 是弱类型语言,参数不要也没办法指定数据类型。
【答案】A
5.下列选项中,描述正确的是( )
A.options.add(new Option(’b’,’B’))可以动态添加一个下拉列表选项
B.option.add(new Option(‘b’,’B’))可以动态添加一个下拉列表选项
C.new Option(‘b’,’B’)中’b’表示列表选项的值,’B’用于页面中显示
D.new Option(‘b’,’B’)中’B’表示列表选项的值,’b’用于页面中显示
obj.add(new Option("文本","值")); //方法一: obj.options.add(new Option("text","value")); //方法二: for(var i=0;i<10;i++){ obj.options[i]=new Option("新文本","新值"); //方法三: }
【答案】AD
6.在JavaScript中以下哪个变量名是非法的()
A._loves1
B.8loves
C.Loves
D.love@$s
【解析】变量必须以字母开头(也可以$或_,不过不建议)
【答案】B
7.JavaScript是运行在()的脚本语言
A.服务器端
B.客户端
C.在服务器运行后,把结果返回到客户端
D.在客户端运行后,把结果返回到服务器
js是一种客户端脚本语言,而asp、php才是服务器端语言
8.分析下面的JavaScript代码段,输出的结果是()
emp = new Array(5);
emp[1]=1;
emp[2]=2;
document.write(emp.length);
A.2
B.3
C.4
D.5
【解析】数组定义:var myArray=new Array(),括号里规定了数组的长度
【答案】D
9.以下代码错误的是()
var name = document.myform.txtName.value;
第一行
if(name.length= =””) 第二行
{
confirm(“姓名不能为空!”); 第三行
return false;
}
A.第一行
B.第二行
C.第三行
D.没 有
【解析】判断对象为不为空,应该用name.value或name.value.length
【答案】B
10.JavaScript中的关系运算符不包含()
A.==
B.<=
C.>=
D.<
【解析】关系运算符:小于,小于等于,大于,大于等于(等号、非等号和全等号、非全等号属于等性运算符)
【答案】A
11.假定今天是2006年4月1日星期六,请问下列JavaScript代码在页面上的输出结果是( )。
var time=new Date();
document.write(time.getDate());
A. 2006
B. 4
C. 1
D. 6
【解析】返回某一天
注:getMonth()是实际月数-1,且个位数字不用在前面加0
getDay()获得具体星期几,是数字
【答案】C
12.在HTML中,使用JavaScript中的浏览器对象实现在当前窗口打开链接"http://www.baidu.com"的javascript语句是( )
A. window.open("http://www.baidu.com");
B. document.write("http://www.baidu.com");
C. location.replace("http://www.baidu.com");
D. location.reload("http://www.baidu.com");
【解析】window.open()是新窗口打开
location.replace()用新的文档替换当前文档
location.reload()重新加载当前文档,不停闪烁
【答案】C
13.在进行表单验证时,当填写的文本框信息有错误时,通常会在文本框后面用红色的特殊字体显示错误信息,那么这种即时错误信息是在文本框发生了( )事件后产生的
A. onfocus B. onblur C. onchange D. onclick
【答案】B
14.下列哪个函数可以将参数字符串当成Javascript程序代码执行?( )
A. eval() B. escape() C. encodeURI() D. toString()
【解析】eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
如eval("x=10;y=20;document.write(x*y)";
document.write(eval("2+2"));
var x=10;document.write(eval(x+17));
实际用的情况不多
【答案】A
15.下列哪个函数可以用来判断参数是否为有限值?( )
A.isNumber() B. isFinite() C. isNull() D. isNaN()
【解析】isFinite()函数用于检查其参数是否是无穷大
如果是有限数字则返回true,如如果不是数字或者是正、负无穷大的数,则返回false
【答案】B
16.下列各运算符中,______优先级最高。
A.+ B. && C. == D. *=
【解析】
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
++ -- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义值 |
* / % | 乘法、除法、取模 |
+ - + | 加法、减法、字符串连接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于等于、大于、大于等于、instanceof |
== != === !== | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 条件 |
= oP= | 赋值、运算赋值 |
, | 多重求值 |
*=属于赋值运算
【答案】B
17.表达式7^12*12-4^7的值是______。
A.7 B. 644 C. 140 D. 340
【解析】运算符操作顺序: *>->^,所以是7^140^7,经过两次异或,值不变
【答案】C
18.对于下面的表格:
<table border="1" width="30%" id="t1">
<tbody id="b1">
<tr>
<td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
</tr>
</tbody>
</table>
可以删除表格所有行的代码是:
A.
var tb = document.getElementById("t1");
var rows = tb.getElementsByTagName("tr");
for(var i=rows.length-1;i>=0;i--) {
tb.removeChild(rows[i]);
}
B.
var tb = document.getElementById("b1");
var rows = tb.getElementsByTagName("tr");
for(var i=rows.length-1;i>=0;i--) {
tb.removeChild(rows[i]);
}
C.
var tb = document.getElementById("t1");
for(var i=tb.rows.length-1; i>=0;i--) {
tb.deleteRow(i);
}
D.
var tb = document.getElementById("b1");
for(var i=tb.rows.length-1; i>=0;i--) {
tb.deleteRow(i);
}
【解析】table不能直接用removeChild删除tr,而tbody可以
【答案】BCD
19.执行代码的值
var i=9; function fo(){ var i=0; return function(n){ return n+i++;
//return n+++i;
//return n+(++i); } }; var f=fo(); var a = f(15);alert(a); var b = fo()(15);alert(b); var c = fo()(20); alert(c); var d = f(20);alert(d);
【解析】外面的i是全局变量,不会影响到里面的函数,注意a和d是同一块区域内执行,而b和c不相互影响,重新开辟了2块区域,a和d相当于
var a=function f(){return n+i++;}
return i++; //先赋值再自加运算
return ++i; //先自加运算再赋值
所以return n+i++;即n和i先相加,然后i再累加
return n+++i;即n先和i相加,然后n自己再累加
return n+(++i);即i先累加,然后n和i再相加
【答案】15 15 20 21
15 15 20 20
16 16 21 22
20.判断浏览器(如判断谷歌)
if(window.navigator.userAgent.indexOf('Chrome')!=-1){ alert("谷歌浏览器"); }
21.不同浏览器下,点击元素,弹出该元素的标签
document.onclick=function(e){ e=event.target ||event.srcElement; alert(e.tagName); }
22.alert()里内容换行
要换行的内容后面加\\n
23.null==undefined的值?
true
24.eval是什么?
答:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
25.var a=5;
alert(a++);
alert(++a);
输出:5 7
a++先赋值后运算,虽然弹出的值不变可是弹出完了,他的值还是自增了
26.new关键字后的构造函数中的this指向用该构造函数构造出来的新对象:
27.alert('5'-'3');
alert('5'-3);
都输出2
只有加法会进行字符串拼接
别的都直接算数运算
如果是字符串相减 会输出NaN
28.
var foo = { bar: function() { return this.baz; }, baz: 1 }; (function(){ return typeof arguments[0](); })(foo.bar);
匿名函数执行后返回this.baz,这时候的this指向window
所以输出undefined