博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端面试题一
阅读量:5157 次
发布时间:2019-06-13

本文共 21915 字,大约阅读时间需要 73 分钟。

CSS 
选择题
 
简答题 
 
1
 HTML
中定义表格的宽度的时候 
80PX
80%
的区别是什么 
 
Px
表示像素,
% 
表示站整个也面宽度的百分比
 2
 
简述 
DIV
元素和
SPAN
元素的区别。 
 
DIV
默认情况下是分行显示, 
SPAN
在同行显示
 3
 CSS+DIV
开发 
Web
页面的优势有哪些?
  
优点: 
 
1
div+css 
,这个网页设计模式中, 
div
承担了网页的内容,
css
承担了网页的样式。这样就使网页的内容和样式的分离开来。有利于页面的维护升级。 
 
2
)有助于提高搜索引擎亲和力(快速找到需要的数据,而不是像在 
table
中一层层的查找)
 
3
)有助于页面的重构
(
换皮肤如 
blog
,直接套用另外一套样式就可以实现,而不用改动网页脚本。 
缺点:开发效率比较低 
 
4
 
有关 
CSS
浏览器兼容的一道面试题 
  
请写出一段代码实现如下效果:在老的浏览器里面显示一段蓝色文字,新浏览器里面则显示成红色的,在 
IE6
里面显示成绿的,
IE7
里面显示成黑色的 
 
因为这个问题不是很严谨,只给出可能的答案:
 #content p{color:blue} 
html>body #content p {color:red}
 * html #content p{color:green} 
html>body #content p {*color:black;} 
*
的涵意:由于不同的浏览器对 
CSS
的支持及解析结果不一样,还由于 
CSS
中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的 
CSS
。这种方式称之为
CSS Hack
CSS Hack
大致有
3 
种表现形式, 
CSS
类内部
Hack 
、选择器 
Hack
以及
HTML 
头部引用 
(if IE)Hack
CSS Hack 
主要针对类内部 
Hack
:比如 
IE6 
能识别下划线 
"_"
和星号
" * " 
IE7
能识别星号 
" * "
,但不能识别下划线
"_"
,而 
firefox
两个都不能认识。
选择器 
Hack
:比如 
IE6 
能识别
*html .class{}
 
IE7
能识别
*+html .class{} 
或者
*:first-child+html .class{}
HTML
头部引用
(if IE)Hack 
:针对所有 
IE
<!--[if IE]><!-- 
您的代码 
--><![endif]-->
,针对
IE6 
及以下版本: 
<!--[if lt IE 7]><!--
您的代码
--><![endif]--> 
,这类
Hack
不仅对 
CSS
生效,对写在判断语句里面的所有代码都会生效。
书写顺序一般是将识别能力强的浏览器的 
CSS
写在前面,如:
比如要分辨 
IE6
firefox 
两种浏览器,可以这样写:
div{
background:green;/*forfirefox*/
*background:red;/*forIE6*/(bothIE6&&IE7)
}
IE6
中看到是红色的,在 
firefox
中看到是绿色的。
firefox
中,由于不识别 
*
号标识,于是将以星号开头的样式过滤掉,不予理睬,解析得到的结果是 
:div{background:green},
于是理所当然这个
div
的背景是绿色的。
IE6
中,两个 
background
样式都能识别出来,解析得到的结果是 
:div{background:green;*background:red;}
,于是根据优先级别,处在后面的 
red
的优先级高,所以
div
的背景颜色就是红色的。
CSS hack:
区分
IE6 
IE7
 
firefox
区别 
IE6
FF 
background:orange;*background:blue;
区别 
IE6
IE7 
background:green!important;background:blue;
区别 
IE7
FF 
background:orange;*background:green;
区别 
FF
IE7 
IE6
background:orange;*background:green;_background:blue;
background:orange;*background:green!important;*background:blue;
注: 
IE
都能识别
*; 
标准浏览器 
(
FF) 
不能识别 
*
IE6
能识别
* 
;不能识别 
!important;
IE7
能识别
* 
,能识别 
!important;
FF
不能识别
* 
,但能识别 
!important;
浏览器优先级别 
:FF<IE7<IE6,CSS hack
书写顺序一般为
FF IE7 IE6
: " #demo {width:100px;} "
为例
;
#demo {width:100px;} /* 
FIREFOX,IE6,IE7
执行 
.*/
* html #demo {width:120px;} /* 
会被
IE6
执行 
,
之前的定义会被后来的覆盖 
,
所以
#demo 
的宽度在 
IE6
就为
120px; */
*+html #demo {width:130px;} /* 
会被
IE7
执行 
*/
所以最后 
,#demo
的宽度在三个浏览器的解释为 
: FIREFOX:100px; ie6:120px; ie7:130px;
IE8 
最新
css hack
"\9" 
 例
:"border:1px \9;".
这里的
"\9"
可以区别所有 
IE
FireFox.
(只针对 
IE9 Hack
"\0" 
 
IE8
识别,
IE6 
IE7
不能
.
"*" 
 
IE6
IE7
可以识别
.IE8
 
FireFox
不能
.
"_" 
 
IE6
可以识别
"_",IE7 
IE8
FireFox 
不能
.
5
 Position
的值有哪几种?默认值又是什么? 
 
  1. position 
    的五种值都是什么? 
    static, relative, absolute, fixed, inherit
  2. position 
    的缺省值是什么? 
     Static
6
 
超链接访问过后 
hover
样式就不出现的问题
被点击访问过的超链接样式不在具有 
hover
active 
,
解决方法是改变 
CSS
属性的排列顺序
: L-V-H-A 
7
 IE6
的双倍边距 
BUG 
例如 
<style type=”text/css”> body {margin:0} 
div { float:left; margin-left:10px; width:200px; height:200px; border:1px solid red } </style> 
浮动后本来外边距 
10px,
IE 
解释为
20px,
解决办法是加上 
display:inline
 8
 
为什么 
FF
下文本无法撑开容器的高度 
标准浏览器中固定高度值的容器是不会象 
IE6
里那样被撑开的
,
那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉 
he ight
设置
min-height:200px;  
这里为了照顾不认识 
min-height
IE6  
可以这样定义: 
 
div { height:auto!important; height:200px; min-height:200px; } 
9
 
为什么 
web
标准中
IE
无法设置滚动条颜色了 
原来样式设置: 
 
<style type=”text/css”> 
body { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee;scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000;scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff; } </style> 
解决办法是将 
body
换成
html 
10
、为什么无法定义
1px
左右高度的容器
IE6
下这个问题是因为默认的行高造成的,解决的方法也有很多,例如: 
overflow:hidden | zoom:0.08 | line-height:1px
 11
、怎么样才能让层显示在 
FLASH
之上呢
解决的办法是给 
FLASH
设置透明
<param name=”wmode” value=”transparent” />
12
、怎样使一个层垂直居中于浏览器中 
<style type=”text/css”> <!– div { 
position:absolute; top:50%; left:50%; 
margin:-100px 0 0 -100px; width:200px; height:200px; border:1px solid red; } –> </style> 
这里使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二 
 
13
firefox
嵌套 
div
标签的居中问题的解决方法 
 
假定有如下情况: 
 <div id=
a 
> <div id=
 
b
> </div> </div> 
如果要实现 
b
a 
中居中放置,一般只需用 
CSS
设置
a 
text-align
属性为 
center
。这样的方法在
IE
里看起来一切 
 
正常;但是在
Firefox
 
b
却会是居左的。
 
解决办法就是设置 
b
的横向
margin 
auto
。例如设置 
b
CSS 
样式为: 
margin: 0 auto;
 
14
FireFox
浏览器是否支持 
VBScript
脚本?
 
不支持 
 
15
、我们现在使用的
IE
的版本一般是多少,
IE
的英文全称是什么?
 
Internet Explorer 6.0 SP2/5.5/5.0/6.0 SP1/7.0 beta2/7.0 beta3 
都算对。 
 
16
CSS
规范中,每一条样式的结束符是 
;
(分号)还是
(冒号)
  
?样式名与样式值之间的 分隔符是
: 
(冒号)还是 
=
(等号)
  
 
;
: 
=
都可以
17
CSS
规范中, 
.
(句点)后面跟一个名称代表什么含义? 
#
(井号)后面跟一个名称代表
什么含义?如果要对一个元素设置 
CSS
样式,应将
CSS 
样式写在它的什么属性内? 
 
后面跟个名称表示文档中所有 
class
属性值包含这个名称的应用其后样式, 
#
后面跟个名称表示文档中 
ID
为此名称的元素应用其后样式。
 18
、什么是
CSS
?它的能做些什么? 
  
CSS
就是一种叫做样式表(
stylesheet
)的技术。也有的人称之为层叠样式表( 
Cascading Stylesheet
)。在主页制作时采用
CSS
技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。 
 
只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。 
 
它的作用可以达到:
 
1
)在几乎所有的浏览器上都可以使用。 
 
2
)以前一些非得通过图片转换实现的功能,现在只要用 
CSS
就可以轻松实现,从而更快地下载页面。 
 
3
)使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。 
 
4 
)你可以轻松地控制页面的布局 
 
 
5
)你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个 
CSS
文件进行控制,只要修改这个 
CSS
文件中相应的行,那么整个站点的所有页面都会随之发生变动。 
 
19
CSS
指的是什么 
?
在网页制作中为什么要使用 
CSS
技术
CSS(Cascading Style Sheets) 
也叫层叠样式表,它是用来控制网页中一个或多个元素的外观。在网页制作中,使用样式表可以减少很多具有相同外观元素的重复设置工作,从而给网页的设计和维护带来了很大的方便 
;
具体应用是:改变样式表中元素显示样式的定义,则在使用该样式表的所有网页中相应元素的显示样式都会自动发生改变。 
      
编程题
JavaScript 
选择题
 
20
、以下哪条语句会产生运行错误:( 
A
 
A
 var   obj   =   (   ); B 
 var   obj   =   [   ]; C 
 var   obj   =   {   }; D 
 var   obj   =   /   /; 
21
、以下哪个单词不属于 
javascript
保留字:(
B
 
A
 with B 
 parent C
 
 class D
 void 
22
、请选择结果为真的表达式:( 
C
 
A
 null   instanceof   Object B 
 null   ===   undefined C
 null   ==   undefined D 
 NaN   ==   NaN  
23
、请选择对
javascript
理解有误的:
(ABCD) 
A
 JScript 
javascript
的简称 
 
B
 javascript 
是网景公司开发的一种 
Java
脚本语言,其目的是为了简化 
Java
的开发难
 C
 
 FireFox
IE 
存在大量兼容性问题的主要原因在于他们对 
javascript
的支持不同上
 D
 
 AJAX
技术一定要使用
javascript
技术 
 
24
foo
对象有 
att
属性,那么获取
att
属性的值,以下哪些做法是可以的:( 
ACE
 
A
 foo.att B 
 foo(
 
att
) C 
 foo[
 
att
] D 
 foo{
 
att
} E 
 foo[
 
a
+ 
t
 
+
t 
]
25
、在不指定特殊属性的情况下,哪几种 
HTML
标签可以手动输入文本:( 
AB
 
A
 <TEXTAREA></TEXTAREA> B 
 <INPUT   type=
text 
/> C
 
 <INPUT   type=
hidden 
/> D
 
 <DIV></DIV> 
26
、以下哪些是
javascript
的全局函数:(
ABC
 
 
A
 escape B 
 parseFloat C
 
 eval D
 setTimeout E 
 alert 
27
、关于
IFrame
表述正确的有: 
(ABCD) 
A
  
通过
IFrame
,网页可以嵌入其他网页内容,并可以动态更改 
 B
  
在相同域名下,内嵌的 
IFrame
可以获取外层网页的对象 
 C
  
在相同域名下,外层网页脚本可以获取 
IFrame
网页内的对象
 D
 
 
可以通过脚本调整
IFrame
的大小 
 
28
、关于表格表述正确的有:( 
ABCDE
 
A
  
表格中可以包含 
TBODY
元素
 B 
 
表格中可以包含 
CAPTION
元素
 C 
 
表格中可以包含多个 
TBODY
元素
 D 
 
表格中可以包含 
COLGROUP
元素
 E 
 
表格中可以包含 
COL
元素
 
29
、关于
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 
的方式来存取该变量
简答题 
 
30
、如何让一个页面每
20
秒钟刷新一次而不用
Javascript?  
可以使用 
meta refresh
标签来进行刷新。
meta 
标签是属于 
HTML
文档的
<head> 
部分。
 
例如: 
<meta http-equiv=
refresh 
 content=
 
20
 
如下代码实现用 
meta
标签将页面转发到一个新的页面: 
 
<meta http-equiv= 
refresh
 
 content=
2;url=http://www.mianwww.com 
>
 31
HTML
的几种触发都是什么? 
  
onblur 
事件会在对象失去焦点时发生。
 onchange  
事件会在域的内容改变时发生。
 onclick 
事件会在对象被点击时发生。 
 
onfocus 
事件在对象获得焦点时发生。 
 
onkeydown 
事件会在用户按下一个键盘按键时发生。
 onkeypress  
事件会在键盘按键被按下并释放一个键时发生。
 onkeyup 
事件会在键盘按键被松开时发生。 
 
onmousedown 
事件会在鼠标按键被按下时发生。
 onmousemove  
事件会在鼠标指针移动时发生。 
 
onmouseout 
事件会在鼠标指针移出指定的对象时发生。
 onmouseup  
事件会在鼠标按键被松开时发生。
 32
、说一下
javascript
 
this
的用法
  
通常情况下 
, this
代表的是前面提到的
Globle Object.
也就是 
Browser
环境时的
window Object.  
function
作为某一对象的 
 method 
, this  
代表这个 
 function 
所属的
 object.  
下面这段代码有格错误 
涉及到
this 
的使用
:
 function Employee(a) { 
this.name = a; 
}
function init(){ 
John = Employee(”Johnson”);
 alert(John.name);
 } 
init()
中我们少了一个 
new keyword. 
于是这个代码就会报错
因为 
Browser
Employee 
当作是
window obect
的一个 
method, 
里面的
this 
指的就是 
window object. init()
应该改为
:
 function init(){ 
John = new Employee(”Johnson”);
 alert(John.name);
 } 
同时我们也可以将 
Employee
constructor 
函数修改 
防止类似的错误
function Employee(a) { 
if (!(this instanceof Employee)) 
return new Employee(a);
 this.name = a;
 }
33
、介绍一下
javascript
function 
的用法
  
 JavaScript
 
, function
是一种数据类型
所有的 
function
都是从
buildin 
Function object 
衍生的对象 
所以在
JavaScript  
function
可以作为参数传递 
可以作为
Object 
property, 
也可以当作函数返回值 
. function
JavaScript 
中有两种用法 
一种是当作
constructor,  
前面加上 
new keyword
用来建立对象
一种是当作 
method, 
为其他对象调用
注意 
function
method 
在中文里的意思相当 
在有些语言里也可以通用 
但是在
 JavaScript 
它们还是有所区别的 
. function
本身是是一个对象
而当作为一个方法他属于一个对象时 
就成为了一个这个对象的 
 method, 
相当于一个对象种的属性 
也就是说
method 
是相对于一个对象而言的 
, function
在某些情况下成为了一个对象的 
 method. 
34
JavaScript
面试 
-
介绍一下
JavaScript
中的对象。 
 
JavaScript
中的
Object 
是一组数据的 
key-value
的集合
 
有点类似于 
 Java
中的
HashMap,  
所有这些数据都是 
Object
里的
property.  
通常情况下 
, JavaScript
中建立一个对象用”
new
”加上 
constructor function
来实现
 
new Date(), new Object()
var book = new Object(); 
book.name = “JavaScript is Cool”;
book.author = “tom”; book.pages = 514; 
上面例子中的 
name
page 
就是名为 
book
的对象中的
property.  
我们可以用 
delete
来删除
Object 
中的
 property: 
 
delete book.name;
 
除了
Object, Date
 
buildin
的对象外
 
我们可以写自己的 
 constructor function, 
然后使用
new 
就可以建立自己的对象 
如上面的
book 
可以写成 
:
 function Book (name, author, page) { 
this.name = name;
 this.author = author;
 this.page = page; 
var abook = new Book( 
JavaScript is Cool
 
tom 
, 514); 
35
、介绍一下
JavaScript
中的循环引用
  
JavaScript
中,当一个 
DOM
对象包含了一个
JavaScript
对象的引用 
(
比如一个事件的
function), 
同时那个 
JavaScript
的对象又包含了一个这个 
DOM
对象的引用,这样就造成了一个循环引用的结构。例如 
 
var s = document.createElement(’span’);  document.body.appendChild(s);     
s.οnclick=function (){
 s.style.backgroundColor = ‘red’; 
 alert(n); 
}; 
36
、结合
text
这段结构,谈谈 
innerHTML outerHTML innerText 
之间的区别。 
 
innerHTML
对象里面的
HTML,outerHTML 
包括对象和里面的 
 innerText
对象里面的文本
  
37
settimeout
 
setinteval 
的区别?
 
Settimeout
只执行一次
 setInteval 
没有次数限制 
 
38
、生成
1-6
之间的整数? 
 
var NowFrame; 
NowFrame=Math.random( )*6+1 // 
随机生成一个 
1-6
之间的小数
NowFrame=parseInt(NowFrame) // 
1-6
之间的小数转化为整数
39
、请简述
javascript
脚本的执行原理。 
 
1
)浏览器接收用户的请求 
 
2
)向服务请求某个包含 
avascript
脚本的页面
 
3
)应用服务器端向浏览器发送煤响应的消息。 
 
40
、如何让一个
DIV
隐藏起来,如何让一个曾显示出来 
 
Diasplay
属性设置成
none 
41
isNaN
的作用 
 
判断是否为数字 
 
42
JAVASCRIPT
中获取某个元素的方式 
 
Document.getElementById();  
此方法在页面中搜索 
 Document.myform.xxx 
此方法按照层次结构来获取 
 Document.getElementsByName() 
此方法用于获得所有的名字相同的元素 
 
43
JAVASCRIPT
如何弹出一个模式对话框 
 
window.showModalDialog( 
“”
44
、在做浮动广告的时候如何把 
DIV
层漂起来
 
style=”position:absolute;” 
45
、如何用
JavaScript
隐藏一个超级链接真实的地址? 
  
代码示例如下: 
 
<a onMouseOver= 
window.status=
 
http://www.merchant-url-here.com
; return true; 
 onMouseOut=
 
window.status=
Done 
; return true;
 
 href=
http://www.affiliate-url-here.com 
 target=
 
_blank
>Link Text Here</a>
 46
、请写出一个
JavaScript 
对象并初始化几个属性
  
代码如下: 
 
var obj = { 
name: 
 
IT
公司面试手册”
,
address: “http://www.mianwww.com”, 
outfit: { top: “naked”, bottom: “jeans”, shoes: “hiking sho” }
 } 
47
Javascript
面试题:如何给一个 
Javascript
的对象属性赋值?如何取得属性值? 
  
一个 
Javascript
对象的属性可以用”
.
”操作符或者数组方式来设置和取得:
代码如下: 
 
obj.name =  
IT
公司面试手册” 
;
 obj["name"] =  
IT
公司面试手册” 
取得 
 
属性的值:
 var myname = obj.name; var myname = obj["name"]; 
两种方法的区别是如果属性的名字如果是保留字的话,用点操作符就会报错,代码如下: 
 obj.for = 
IT 
公司面试手册”;因为 
for
是保留字,所以会报错
 obj["for"] = 
IT 
公司面试手册” 
 
就不会报错
 48
Javascript
面试题:如何创建一个 
Javascript Object?  
可以有两种方式创建一个 
Javascript Object, 
代码如下:
 
第一种方法: 
var obj = new Object();
 
第二种方法:
var ob = {}; 
49
、为什么
Javascript
 
Java
有类似的名字?
 
因为 
Javascript
语法是基于
Java 
语法的
(
松散的 
50
、当一个用户浏览一个包含 
Javascript
的页面,那个程序真正的执行了这些代码? 
 
用户机器的浏览器程序 
 
51
、“
2names
”是一个合法的 
Javascript
变量名吗?
 
不是的 
 
52
、请写出一个
Javascript
数组的定义?
 
var txt = new Array( 
tim
 
kim 
 
jim
53
<noscript>
有什么作用?
用来在客户端浏览器不支持 
Javascript
的时候显示标签内部的信息 
 
54
、哪个事件是在表单元素失去焦点的时候触发? 
 
onblur 
55
Javascript
问题:有几种方法在你的 
HTML
页面里面潜入一段
Javascript?  
方法有如下几种: 
 
<script src=”filename.js” type=”text/javascript”></script> 
<script src= 
filename.js
 
 type=
text/javascript 
 charset=
 
utf-8
></script>
 
也可以使用
DOM 
来包含
javascript
文件: 
 
window.οnlοad=function(){ 
if(!document.getElementById || !document.createElement){return;} 
var newjs=document.createElement(’script’); 
newjs.type=’text/javascript’; newjs.src=’myjsfile.js’; 
document.getElementsByTagName(’head’)[0].appendChild(newjs); 
也可以动态通过 
function
添加一段
javascript 
DOM: // loadscript(
 
filepath/myjsfile.js
); 
function loadScript(src) { 
newjs= document.createElement( “script” ); 
newjs.src = src; 
newjs.type=’text/javascript’; 
head = document.getElementsByTagName( “head” )[0]; 
head.appendChild(newjs); 
也可以使用 
javascript writeln()
来进入一段
javascript: 
document.write(
<scr 
+
 
ipt 
type=\”text/javascript\” 
src=\
yoursource.js\ 
></scr
 
+
ipt> 
);
 56
、如何用
JavaScript
启动 
bat
文件
  
<script   language=javascript> 
var   wsh   =   new   ActiveXObject(”WScript.Shell”);
wsh.Run(”C:/*****.bat”); 
</script>
57
、介绍一下
XMLHttpRequest
对象
  
通过 
XMLHttpRequest
对象,
Web 
开发人员可以在页面加载以后进行页面的局部更新。 
 AJAX
开始流行始于
Google
 
2005
年使用的”
Google Suggest 
”。
 
Google Suggest
”就是使用 
XMLHttpRequest
对象来创建动态的
Web
接口: 
 
当用户开始输入
google
的搜索框, 
Javascript
发送用户输入的字符到服务器,然后服务器返回一个建议列表。 
 
XMLHttpRequest
对象在
IE5.0+, Safari 1.2, Mozilla 1.0/Firefox, Opera 8+  
NetScapt7 
开始被支持。 
 
58
AJAX
的全称是什么? 
 
介绍一下
AJAX  
AJAX
的全称是
Asynchronous JavaScript And XML. 
AJAX
2005 
年由
Google
发起并流行起来的编程方法, 
 AJAX
不是一个新的编程语言,但是它是一个使用已有标准的新的编程技术。 
 
使用 
AJAX
可以创建更好,更快,更用户界面友好的 
Web
应用。
 AJAX 
技术基于 
Javascript
HTTP Request. 
59
、介绍一下
isNaN
函数?
 
如果参数不是数字类型的话 
isNaN
返回
true
 60
javascript
都支持哪些布尔型的操作? 
 
&&, ||
和!
 
61
、“
1
 
+2+4
javascript
中得到什么? 
 
因为“ 
1
”是
String 
类型,所以所有的操作数都是 
String, 
结果为
124 
62
2+5+
 
8
″得到的结果是什么?
 
因为 
2
5 
是数字类型, 
8
是字符串,所以得到的结果是 
78 
63
javascript
有几种 
loop
方法?
 
for, while, do-while,  
没有
foreach 
64
javascript
如何创建一个新的对象? 
 
var obj = new Object()  
或者
 var obj = {} 
65
、如何为一个对象属性赋值? 
 
obj["age"]=17  
或者
obj.age=17 
66
、如何为一个数组添加一个值?
arr[arr.length]= value;
67
Javascript
的数据类型有几种? 
  
1. Number  
数字类型 
 
2. String  
字符串类型 
 
3. Boolean  
布尔类型 
 
4. Function  
函数
 
5. Object  
对象
 
6. Null 
7. Undefined  
没有定义类型 
 
68
、将字符串用指定字符分割成数组的函数是什么? 
 
<script type="text/javascript">
var str="How are you doing today?";
document.write(str.split(" ") + "<br />"); 
document.write(str.split("") + "<br />"); 
document.write(str.split(" ",3));
</script> 
69
Javascript
如何创建对象? 
 
答:创建对象的例子:
 personObj=new Object()
 personObj.firstname="John" 
personObj.lastname="Doe" 
personObj.age=50 
personObj.eyecolor="blue"
 70
、怎么取页面的
element 
document.getElementById( 
id
 
)
或者
 
form.elementName
方法根据
element  
name
来取 
 
71
、怎么动态创建
element,
怎么设置他的鼠标事件
 
var myLink = document.createElement('a'); 
var href = document.createAttribute('href'); 
myLink.setAttribute(href,'http://www.mianwww.com');
myLink.innerText ="Go here"; 
var spanAppend = document.getElementById('myDivLink'); 
spanAppend.appendChild(myLink);
72
、如何用
Javascript
判断上传文件的大小? 
  
有几种方法判断文件的大小: 
 
1. 
ActiveX 
控件,代码如下: 
 
<script type= 
text/javascript
 
function getFileSize(path) { 
var fileAO = new ActiveObject(”Scripting.FileSystemObject”); 
alert(”File size is:” + fileAO.GetFile(path).size); }
 </script> 
2. 
可以利用
img 
标签的
dynsrc
属性来判断大小, 
 dynsrc
属性是用来插入多媒体文件的,格式可以是 
WAV,AVI, MP3
等等,
  
例如
<img dynsrc=
 
xxx.avi
 
这样就可以根据 
Image
对象的
fileSize 
属性来得到文件的大小,代码如下:
 <script type= 
text/javascript
 
>
 function getFileSize(filePath) { 
var image=new Image(); 
image.dynsrc=filePath; 
alert(image.fileSize); 
</script> 
73
Prototype
如何实现页面局部定时刷新? 
  
可以使用 
Prototype
Ajax.PeriodicalUpdater 
来实现页面的局部刷新。 
 
比如
  
如果页面上需要定时刷新的 
 
部分为
<div id= 
refresh
 
></div> 
那么可以按照如下代码定时刷新这一部份 
 
new Ajax.PeriodicalUpdater(’refresh’, ‘/your_url’, { method: ‘get’, insertion: Insertion.Top, frequency: 1, decay: 2 }); 
其中的两个参数 
frequency
表示间隔的秒数,缺省情况下为 
2
decay 
表示如果返回的内容相同,则将 
frequency
的间隔时间加倍,这里第一次是 
1
秒,如果返回内容相同则编程两秒,然后四秒,然后八秒。。。如果每次返回的结果都不一样 
 
那么这个参数就不起作用
74
Prototype
如何更新局部页面? 
  
可以使用 
Ajax.Updater
来更新局部页面,实例如下: 
 <div id=
company 
></div> 
以上是需要局部更新的容器,使用一下 
javascript
来操作
 
new Ajax.Updater( 
company
 
,'/your_url
,{method: 
get
 
}); 
75
Prototype
如何为一个 
Ajax
添加一个参数?
  
代码如下: 
 
new Ajax.Request(’/your_url’, { method: ‘get’, 
parameters: {name: ‘rainman’, limit: 12} }); 
76
Ajax
请求总共有多少种 
Callback?  
Ajax
请求总共有八种
Callback 
onSuccess 
 onFailure  
onUninitialized  
onLoading  
onLoaded  
onInteractive  
onComplete  
onException 
77
Prototype
中如何为一个元素添加一个方法?
Prototype
提供的
Element.addMethods() 
方法可以 
 
用来为一个元素添加自定义的方法,如果你有一个对象包含了一些自定义的方法,可以直接把这个对象传给 
Element.addMethods(); 
例如:
 
var MyUtils = { 
truncate: function(element, length){ 
element = $(element); 
return element.update(element.innerHTML.truncate(length));
 }, 
updateAndMark: function(element, html){ 
return $(element).update(html).addClassName(’updated’);
  } 
Element.addMethods(MyUtils); // now you can: 
$(’explanation’).truncate(100); 
需要注意的一点就是这些方法的第一个参数必须是这个元素本身,你还可以在方法的最后返回这个元素 
 
78
AJAX
都有哪些有点和缺点? 
  
传统的 
web
应用允许用户填写表单
(form)
,当提交表单时就向 
web
服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分 
HTML
代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。 
 
与此不同, 
AJAX
应用可以仅向服务器发送并取回必需的数据,它使用 
SOAP
或其它一些基于
 XML
 
web service
接口,并在客户端采用
JavaScript
处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以 
Web
服务器的处理时间也减少了。 
 
使用 
Ajax
的最大优点,就是能在不更新整个页面的前提下维护数据。这使得 
Web
应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。 
 Ajax
不需要任何浏览器插件,但需要用户允许 
JavaScript
在浏览器上执行。就像
 DHTML
应用程序那样, 
Ajax
应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着 
Ajax
的成熟,一些简化
Ajax
使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持 
JavaScript
的用户提供替代功能。
 
对应用 
Ajax
最主要的批评就是,它可能破坏浏览器后退按钮的正常行为 
[4]
。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在 
Ajax
应用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,当中大多数都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的 
IFRAME
来重现页面上的变更。(例如,当用户在 
Google Maps
中单击后退时,它在一个隐藏的 
IFRAME
中进行搜索,然后将搜索结果反映到 
Ajax
元素上,以便将应用程序状态恢复到当时的状态。) 
 
一个相关的观点认为,使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中。该问题的解决方案也已出现,大部分都使用 
URL
片断标识符(通常被称为锚点,即 
URL
# 
后面的部分)来保持跟踪,允许用户回到指定的某个应用程序状态。(许多浏览器允许 
JavaScript
动态更新锚点,这使得
Ajax
应用程序能够在更新显示内容的同时更新锚点。)这些解决方案也同时解决了许多关于不支持后退按钮的争论。 
 
进行
Ajax 
开发时,网络延迟——即用户发出请求到服务器发出响应之间的间隔——需要慎重考虑。不给予用户明确的回应 
 [5]
,没有恰当的预读数据
 [6]
,或者对 
XMLHttpRequest
的不恰当处理
[7]
,都会使用户感到延迟,这是用户不欲看到的,也是他们无法理解的 
[8]
。通常的解决方案是,使用一个可视化的组件来告诉用户系统正在进行后台操作并且正在读取数据和内容。 
 
一些手持设备(如手机、 
PDA
等)现在还不能很好的支持 
Ajax; 
JavaScript
作的 
Ajax
引擎,
JavaScript 
的兼容性和 
DeBug
都是让人头痛的事
; Ajax
的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等 
对串流媒体的支持没有
FLASH
 
Java Applet
79
Ajax
主要包含了哪些技术? 
  
Ajax
Asynchronous JavaScript + XML 
)的定义 
 
基于 
web
标准(
standards-based presentation 
XHTML+CSS
的表示; 
 
使用
 DOM 
Document Object Model
)进行动态显示及交互; 
 
使用
 XML  
 XSLT 
进行数据交换及相关操作; 
 
使用
 XMLHttpRequest  
进行异步数据查询、检索; 
 
使用 
 JavaScript 
将所有的东西绑定在一起。英文参见 
Ajax
的提出者
Jesse James Garrett 
的原文
,
原文题目 
(Ajax: A New Approach to Web Applications) 
 
类似于 
DHTML
LAMP 
AJAX
不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于 
AJAX
的“派生
/ 
合成”式( 
derivative/composite
)的技术正在出现,如“ 
AFLAX
”。
 AJAX 
的应用使用支持以上技术的 
web
浏览器作为运行平台。这些浏览器目前包括: 
Mozilla
Firefox 
Internet Explorer
 
Opera
Konqueror 
Safari
。但是 
Opera
不支持
XSL 
格式对象,也不支持 
XSLT
80
DOM
的优缺点都有什么? 
  
DOM
的优势主要表现在:易用性强,使用 
DOM
时,将把所有的
XML
文档信息都存于内存中,并且遍历简单,支持 
XPath
,增强了易用性。
 
DOM
的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率低还表现在大量的消耗时间,因为使用 
DOM
进行解析时,将为文档的每个 
element
attribute 
processing- instrUCtion
 
comment
都创建一个对象,这样在 
DOM
机制中所运用的大量对象的创建和销毁无疑会影响其效率。 
 
81
、谈谈
javascript
数组排序方法 
sort()
的使用,重点介绍
sort()
参数的使用及其内部机制
 
sort
的实现的功能类似
JAVA
的比较器,数据排序从多维数组的第一维开始排序 
 
可以自己定义排序方法,很不多的函数 
 
82
、简述
DIV
元素和 
SPAN
元素的区别。
 
DIV
有回车,
SPAN 
没有
 
83
、结合
<span   id=
outer
><span   id=
inner
>text</span></span>
这段结构,谈谈
innerHTML   outerHTML   innerText 
之间的区别。 
 
innerHTML
对象里面的
HTML,outerHTML 
包括对象和里面的 
 innerText
对象里面的文本
 
84
、说几条
XHTML
规范的内容(至少 
3
条)
 
属性加引号,不能有不匹配的标签,加定义 
 
85
、对
Web
标准化(或网站重构)知道哪些相关的知识,简述几条你知道的 
Web
标准?
 
W3C
标准等
 
86
、如何用
Javascript
校验数字型 
?  
var re=/^\d{1,8}$|\.\d{1,2}$/;
 var str=document.form1.all(i).value; 
var r=str.match(re);
 if (r==null) { 
sign=-4; break; 
} else{
document.form1.all(i).value=parseFloat(str);
 }
87
、主要的
Ajax
框架都有什么? 
  
*  Dojo
dojotoolkit.org 
);
 
* Prototype
Scriptaculous  
www.prototypejs.org
script.aculo.us
);
 * Direct Web Reporting  
getahead.org/dwr
); 
 
* Yahoo! User Interface Library 
developer.yahoo.com/yui
);
 * Google Web Toolkit  
code.google.com/webtoolkit
)。 
 
*JQuery 
88
AJAX
的优缺点都有什么? 
  
1
、最大的一点是页面无刷新,用户的体验非常好。 
 
2
、使用异步方式与服务器通信,具有更加迅速的响应能力。 
 
3
、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担, 
ajax
的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
 4
、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。 
 
ajax
的缺点
 
1
ajax 
不支持浏览器 
back
按钮。
 
2
、安全问题
 AJAX 
暴露了与服务器交互的细节。
 3
、对搜索引擎的支持比较弱。 
 
4
、破坏了程序的异常机制。 
 
5
、不容易调试。
 
89
Ajax
的工作原理 
  
Ajax
的核心是
JavaScript 
对象
XmlHttpRequest
。该对象在 
Internet Explorer 5
中首次引入,它是一种支持异步请求的技术。简而言之, 
XmlHttpRequest
使您可以使用
JavaScript
向服务器提出请求并处理响应,而不阻塞用户。 
 
90
、谈一下
Javascript
中的对象 
  
JavaScript
中的
Object 
是一组数据的 
key-value
的集合
 
有点类似于 
Java
中的
HashMap,  
所有这些数据都是 
Object
里的
property.  
通常情况下 
, JavaScript
中建立一个对象用”
new
”加上 
constructor function
来实现
 
new Date(), new Object()
var book = new Object();
book.name = “JavaScript is Cool”; 
book.author = “tom”; 
book.pages = 514; 
上面例子中的 
name
page 
就是名为 
book
的对象中的
property.  
我们可以用 
delete
来删除
Object 
中的
property: 
 
delete book.name;
 
除了
Object, Date
 
buildin
的对象外
 
我们可以写自己的 
constructor function, 
然后使用
new 
就可以建立自己的对象 
如上面的
book 
可以写成 
function Book (name, author, page) {
 this.name = name; 
this.author = author; 
this.page = page; 
var abook = new Book(”JavaScript is Cool”, “tom”, 514);
91
Javascript
脚本必须写在什么标签之内。 
 
<script> 
92
javascript 
的优缺点和内置对象 
  
1
)优点:简单易用,与
Java 
有类似的语法,可以使用任何文本编辑工具编 
 
写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无需进行严格 
 
的变量声明,而且内置大量现成对象,编写少量程序可以完成目标; 
 
2
)缺点:不适合开发大型应用程序; 
 
3
Javascript  
11 
种内置对象: 
 
Array
String 
Date
 
Math
Boolean 
Number
 
Function
Global 
Error
 
RegExp
Object 
93
 
介绍一下 
XMLHttpRequest
对象的常用方法和属性 
  
open(
method 
,
 
URL
 
建立对服务器的调用,第一个参数是 
HTTP
请求
     
方式可以为 
GET
POST 
或任何服务器所支持的您想调用的方式。 
 
第二个参数是请求页面的 
URL
 
send()
方法,发送具体请求
 abort()
方法,停止当前请求 
 
readyState
属性
    
请求的状态 
 
5 
个可取值 
 
0=
未初始化
  
1=
正在加载, 
2=
以加载,
3= 
交互中, 
4=
完成
 
responseText 
属性
   
服务器的响应,表示为一个串 
 
reponseXML 
属性
  
服务器的响应,表示为 
XML 
status     
服务器的 
HTTP
状态码,
200 
对应
ok  400
对应 
not found 
94
 XMLHttpRequest
对象在 
IE
Firefox
中创建方式有没有不同? 
  
有, 
IE
中通过
new ActiveXObject() 
得到,
Firefox
中通过 
new XMLHttpRequest()
得到
 
95
 
 
 Ajax
应用中信息是如何在浏览器和服务器之间传递的 
  
Ajax
与服务端是通过字符串或者 
xml
进行交互的
 
96
 Ajax
 
javascript
的区别?
javascript
是一种在浏览器端执行的脚本语言, 
Ajax
是一种创建交互式网页应用的开发技术 
 
,它是利用了一系列相关的技术其中就包括 
javascript
 Javascript 
是由网景公司开发的一种脚本语言,它和 
sun
公司的
java 
语言是没有任何关系的,它们相似的名称只是一种行销策略。 
 
在一般的 
web
开发中,
javascript 
是在浏览器端执行的,我们可以用 
javascript
控制浏览器的行为和内容。
  

转载于:https://www.cnblogs.com/yuhangwang/p/5821627.html

你可能感兴趣的文章
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty&#39;s Blocks
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
django知识点总结
查看>>
C++ STL stack、queue和vector的使用
查看>>
使用Reporting Services时遇到的小问题
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
矩阵快速幂---BestCoder Round#8 1002
查看>>
如何将应用完美迁移至Android P版本
查看>>
【转】清空mysql一个库中的所有表的数据
查看>>
基于wxPython的python代码统计工具
查看>>