1、GET和POST的区别,何时使用POST?
GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符
POST:一般用于修改服务器上的资源,对所发送的信息没有限制。
GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,
也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
JavaScript是客户端和服务器端脚本语言,可以插入到HTML页面中,并且是目前较热门的Web开发语言。同时,JavaScript也是面向对象编程语言。
类似的基本题目还包括:JavaScript都有哪些类型?JavaScript是谁发明的?……
2、列举Java和JavaScript之间的区别?
Java是一门十分完整、成熟的编程语言。相比之下,JavaScript是一个可以被引入HTML页面的编程语言。这两种语言并不完全相互依赖,而是针对不同的意图而设计的。 Java是一种面向对象编程(OOPS)或结构化编程语言,类似的如C ++或C,而JavaScript是客户端脚本语言,它被称为非结构化编程。
3. JavaScript和ASP脚本相比,哪个更快?
JavaScript更快。JavaScript是一种客户端语言,因此它不需要Web服务器的协助来执行。另一方面,ASP是服务器端语言,因此总是比JavaScript慢。值得注意的是,Javascript现在也可用于服务器端语言(nodejs)。
word/media/image1.gif
4、什么是负无穷大?
负无穷大是JavaScript中的一个数字,可以通过将负数除以零来得到。
5、如何将JavaScript代码分解成几行吗?
在字符串语句中可以通过在第一行末尾使用反斜杠“\”来完成
例:document.write(“This is \a program”);
如果不是在字符串语句中更改为新行,那么javaScript会忽略行中的断点。
例:
var x=1, y=2,
z=
x+y;
上面的代码是完美的,但并不建议这样做,因为阻碍了调试。
6、对WEB标准以及W3C的理解与认识标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性; 7、xhtml和html有什么区别HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。标签名必须用小写字母。XHTML 文档必须拥有根元素。 8、Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?用于声明文档使用那种规范(html/Xhtml)一般为严格过度基于框架的html文档加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug 9、行内元素有哪些?块级元素有哪些?CSS的盒模型?块级元素:div p h1 h2 h3 h4 form ul行内元素: a b bri span input selectCss盒模型:内容,border ,margin,padding 10、CSS引入的方式有哪些? link和@import的区别是?内联内嵌外链导入区别:同时加载前者无兼容性,后者CSS2.1以下浏览器不支持Link 支持使用javascript改变样式,后者不可
11、什么是未声明和未定义的变量?
未声明的变量是程序中不存在且未声明的变量。如果程序尝试读取未声明变量的值,则会遇到运行时错误。未定义的变量是在程序中声明但尚未给出任何值的变量。如果程序尝试读取未定义变量的值,则返回未定义的值。
12、如何编写可动态添加新元素的代码?
word/media/image2.gif
13、什么是全局变量?这些变量如何声明,使用全局变量有哪些问题?
全局变量是整个代码长度可用的变量,也就是说这些变量没有任何作用域。var关键字用于声明局部变量或对象。如果省略var关键字,则声明一个全局变量。
例:// Declare a global globalVariable = “Test”;
使用全局变量所面临的问题是本地和全局变量名称的冲突。此外,很难调试和测试依赖于全局变量的代码。
14、解释JavaScript中定时器的工作?如果有,也可以说明使用定时器的缺点?
定时器用于在设定的时间执行一段代码,或者在给定的时间间隔内重复该代码。这通过使用函数setTimeout,setInterval和clearInterval来完成。
setTimeout(function,delay)函数用于启动在所述延迟之后调用特定功能的定时器。
setInterval(function,delay)函数用于在提到的延迟中重复执行给定的功能,只有在取消时才停止。
clearInterval(id)函数指示定时器停止。
定时器在一个线程内运行,因此事件可能需要排队等待执行。
15、ViewState和SessionState有什么区别?
“ViewState”特定于会话中的页面。
“SessionState”特定于可在Web应用程序中的所有页面上访问的用户特定数据。
16、CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符类选择符 id选择符继承不如指定 Id>class>标签选择后者优先级高 17、前端页面有哪三层构成,分别是什么?作用是什么
结构层 Html 表示层 CSS 行为层js 18、css的基本语句构成是?
选择器{属性1:值1;属性2:值2;……} 19、你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核) 火狐(Gecko)谷歌(webkit)opear(Presto) 20、写出几种IE6 BUG的解决方法
1.双边距BUG float引起的使用display2.像素问题使用float引起的使用dislpay:inline -3px3.超链接hover 点击后失效使用正确的书写顺序 link visited hover active4.Ie z-index问题给父级添加position:relative5.Png 透明使用js代码改6.Min-height 最小高度!Important 解决’7.select 在ie6下遮盖使用iframe嵌套8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px) 21、标签上title与alt属性的区别是什么?
Alt 当图片不显示是用文字代表。Title 为该属性提供信息 22、描述css reset的作用和用途。
Reset重置浏览器的css默认属性浏览器的品种不同,样式不同,然后重置,让他们统一 23、解释css sprites,如何使用。
Css精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量 24、浏览器标准模式和怪异模式之间的区别是什么?
盒子模型渲染模式的不同使用window.top.document.compatMode可显示为什么模式 25、你如何对网站的文件和资源进行优化?期待的解决方案包括:
文件合并文件最小化/文件压缩使用CDN托管缓存的使用
26、什么是语义化的HTML?
直观的认识标签对于搜索引擎的抓取有好处 27、清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动clear:both(理论上能清楚任何标签,,,增加无意义的标签)2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)3.是用afert伪元素清除浮动(用于非IE浏览器)
28、什么是===运算符?
===被称为严格等式运算符,当两个操作数具有相同的值而没有任何类型转换时,该运算符返回true。
29、说明如何使用JavaScript提交表单?
要使用JavaScript提交表单,请使用
document.form [0] .submit();
document.form [0] .submit();
30、什么是语义化的HTML?
直观的认识标签对于搜索引擎的抓取有好处 31、清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动clear:both(理论上能清楚任何标签,,,增加无意义的标签)2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)3.是用afert伪元素清除浮动(用于非IE浏览器)
32、元素的样式/类如何改变?
可以通过以下方式完成:
document.getElementById(“myText”).style.fontSize = “20?;
或
document.getElementById(“myText”).className = “anyclass”;
33、JavaScript中的循环结构都有什么?
For、While、do-while loops
34、javascript的typeof返回哪些数据类型
Object number function booleanunderfind 35、例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)隐式(== – ===) 36、split() join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串 37、数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除Unshift()头部添加 shift()头部删除 38、事件绑定和普通事件有什么区别 39、IE和DOM事件流的区别
1.执行顺序不一样、2.参数不一样3.事件加不加on4.this指向问题 40、IE和标准下有哪些兼容性的写法
Varev = ev || window.eventdocument.documentElement.clientWidth || document.body.clientWidthVar target = ev.srcElement||ev.target 41、ajax请求的时候get 和post方式的区别
一个在url后面一个放在虚拟载体里面有大小限制安全问题应用不同一个是论坛等只需要请求的,一个是类似修改密码的 42、call和apply的区别
Object.call(this,obj1,obj2,obj3)Object.apply(this,arguments)
43、ajax请求时,如何解释json数据使用eval parse 鉴于安全性考虑使用parse更靠谱
44、写一个获取非行间样式的函数
帮助
45、事件委托是什么让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!http://www.webasily.com/?p=78 例子可见此链接 46、闭包是什么,有什么特性,对页面有什么影响
闭包就是能够读取其他函数内部变量的函数。http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司) 47、如何阻止事件冒泡和默认事件
canceBubble return false 48、添加删除替换插入到某个接点的方法
obj.appendChidl()obj.innersetBeforeobj.replaceChildobj.removeChild 49、解释jsonp的原理,以及为什么不是真正的ajax
动态创建script标签,回调函数Ajax是页面无刷新请求数据操作 50、javascript的本地对象,内置对象和宿主对象
本地对象为array objregexp等可以new实例化内置对象为gload Math 等不可以实例化的宿主为浏览器自带的document,window等 51、document load 和document ready的区别
Document.onload是在结构和样式加载完才执行jsDocument.ready原生种没有这个方法,jquery中有 $().ready(function)
52、如何在JavaScript中将base字符串转换为integer?
parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数。parseInt()将要转换的字符串作为其第一个参数,第二个参数是给定字符串的基础。
为了将4F(基数16)转换为整数,所使用的代码是:parseInt (“4F”, 16);
53、说明“==”和“===”之间的区别?
“==”仅检查值相等,而“===”是一个更严格的等式判定,如果两个变量的值或类型不同,则返回false。
54、3 + 2 +“7”的结果是什么?
由于3和2是整数,它们将直接相加。由于7是一个字符串,它将会被直接连接,所以结果将是57。
55、javascript的同源策略
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合 56、编写一个数组去重的方法
帮助
57、说明如何检测客户端机器上的操作系统?
为了检测客户端机器上的操作系统,应使用navigator.appVersion字符串(属性)。
58、Javascript中的NULL是什么意思?
NULL用于表示无值或无对象。它意味着没有对象或空字符串,没有有效的布尔值,没有数值和数组对象。
59、delete操作符的功能是什么?
delete操作符用于删除程序中的所有变量或对象,但不能删除使用VAR关键字声明的变量。
60、JavaScript中有哪些类型的弹出框?
Alert、Confirm and、Prompt
61、Void(0)怎么用?
Void(0)用于防止页面刷新,并在调用时传递参数“zero”。
Void(0)用于调用另一种方法而不刷新页面。
62、如何强制页面加载JavaScript中的其他页面?
必须插入以下代码才能达到预期效果:
word/media/image3.gif
63、escape字符是用来做什么的?
使用特殊字符(如单引号,双引号,撇号和&符号)时,将使用转义字符(反斜杠)。在字符前放置反斜杠,使其显示。
例:
word/media/image4.gif
64、什么是JavaScript Cookie?
Cookie是用来存储计算机中的小型测试文件,当用户访问网站以存储他们需要的信息时,它将被创建。
65、解释JavaScript中的pop()方法?
pop()方法与shift()方法类似,但不同之处在于Shift方法在数组的开头工作。此外,pop()方法将最后一个元素从给定的数组中取出并返回。然后改变被调用的数组。
例:
var cloths = [“Shirt”, “Pant”, “TShirt”];
cloths.pop();
//Now cloth becomes Shirt,Pant
66、在JavaScript中使用innerHTML的缺点是什么?
如果在JavaScript中使用innerHTML,缺点是:内容随处可见;不能像“追加到innerHTML”一样使用;即使你使用+ = like“innerHTML = innerHTML +’html’”旧的内容仍然会被html替换;整个innerHTML内容被重新解析并构建成元素,因此它的速度要慢得多;innerHTML不提供验证,因此我们可能会在文档中插入有效的和破坏性的HTML并将其中断。
67、break和continue语句的作用?
Break语句从当前循环中退出。
continue语句继续下一个循环语句。
68、在JavaScript中,dataypes的两个基本组是什么?
Primitive
Reference types
原始类型是数字和布尔数据类型。引用类型是更复杂的类型,如字符串和日期。
69、如何创建通用对象?
通用对象可以创建为:
var I = new object();
70、operator类型用来做什么?
‘Typeof’是一个运算符,用于返回变量类型的字符串描述。
71、哪些关键字用于处理异常?
try… Catch-finally用于处理JavaScript中的异常。
word/media/image5.gif
72、JavaScript中不同类型的错误有几种?
有三种类型的错误:
Load time errors:该错误发生于加载网页时,例如出现语法错误等状况,称为加载时间错误,并且会动态生成错误。
Run time errors:由于在HTML语言中滥用命令而导致的错误。
Logical Errors:这是由于在具有不同操作的函数上执行了错误逻辑而发生的错误。
73、在JavaScript中使用的Push方法是什么?
push方法用于将一个或多个元素添加或附加到数组的末尾。使用这种方法,可以通过传递多个参数来附加多个元素。
74、什么是JavaScript中的unshift方法?
Unshift方法就像在数组开头工作的push方法。该方法用于将一个或多个元素添加到数组的开头。
75、对象属性如何分配?
属性按以下方式分配给对象:
obj[“class”] = 12;
或
obj.class = 12;
76、获得CheckBox状态的方式是什么?
alert(document.getElementById(‘checkbox1’)。checked);
如果CheckBox被检查,此警报将返回TRUE。
77、解释window.onload和onDocumentReady?
在载入页面的所有信息之前,不运行onload函数。这导致在执行任何代码之前会出现延迟。
onDocumentReady在加载DOM之后加载代码。这允许早期的代码操纵。
78、你将如何解释JavaScript中的闭包? 什么时候使用?
Closure是与函数返回时保留在内存中的函数相关的本地声明变量。
例如:
word/media/image6.gif
79、一个值如何附加到数组?
可以以给定的方式将值附加到数组:
arr [arr.length] = value;
80、解释for-in循环?
for-in循环用于循环对象的属性。
for-in循环的语法是:
word/media/image7.gif
在每次循环中,来自对象的一个属性与变量名相关联,循环继续,直到对象的所有属性都被耗尽。
81、描述JavaScript中的匿名函数?
被声明为没有任何命名标识符的函数被称为匿名函数。一般来说,匿名函数在声明后无法访问。
匿名函数声明:
word/media/image8.gif
82、.call()和.apply()之间有什么区别?
函数.call()和.apply()在使用上非常相似,只是有一点区别。当程序员知道函数参数的编号时,使用.call(),因为它们必须在调用语句中被提及为参数。另一方面,当不知道数字时使用.apply(),函数.apply()期望参数为数组。
.call()和.apply()之间的基本区别在于将参数传递给函数。它们的用法可以通过给定的例子进行说明。
word/media/image9.gif
83、定义事件冒泡?
JavaScript允许DOM元素嵌套在一起。在这种情况下,如果单击子级的处理程序,父级的处理程序也将执行同样的工作。
84、什么样的布尔运算符可以在JavaScript中使用?
“And”运算符(&&),’Or’运算符(||)和’Not’运算符(!)可以在JavaScript中使用。
*运算符没有括号。
85、一个特定的框架如何使用JavaScript中的超链接定位?
可以通过使用“target”属性在超链接中包含所需帧的名称来实现。
86、在web-garden和web-farm之间有何不同?
web-garden和web-farm都是网络托管系统。唯一的区别是web-garden是在单个服务器中包含许多处理器的设置,而web-farm是使用多个服务器的较大设置。
87、如何分配对象属性?
将属性分配给对象的方式与赋值给变量值相同。例如,表单对象的操作值以下列方式分配为“‘submit”:Document.form.action =“submit”
88、在JavaScript中读取和写入文件的方法是什么?
可以通过使用JavaScript扩展(从JavaScript编辑器运行),打开文件的示例来完成:
fh = fopen(getScriptPath(), 0);
89、在JavaScript中如何使用DOM?
DOM代表文档对象模型,并且负责文档中各种对象的相互交互。DOM是开发网页所必需的,其中包括诸如段落,链接等对象。可以操作这些对象以包括添加或删除等操作,DOM还需要向网页添加额外的功能。除此之外,API的使用比其他更有优势。
90、JavaScript中如何使用事件处理程序?
事件是由用户生成活动(例如单击链接或填写表单)导致的操作。需要一个事件处理程序来管理所有这些事件的正确执行。事件处理程序是对象的额外属性。此属性包括事件的名称以及事件发生时采取的操作。
91、解释延迟脚本在JavaScript中的作用?
默认情况下,在页面加载期间,HTML代码的解析将暂停,直到脚本停止执行。这意味着,如果服务器速度较慢或者脚本特别沉重,则会导致网页延迟。在使用Deferred时,脚本会延迟执行直到HTML解析器运行。这减少了网页加载时间,并且它们的显示速度更快。
92、JavaScript中的各种功能组件是什么?
JavaScript中的不同功能组件是:
First-class函数:JavaScript中的函数被用作第一类对象。这通常意味着这些函数可以作为参数传递给其他函数,作为其他函数的值返回,分配给变量,也可以存储在数据结构中。
嵌套函数:在其他函数中定义的函数称为嵌套函数。
93、解释unshift()方法?
该方法在数组启动时起作用,与push()不同。它将所需数量的元素添加到数组的顶部。例如:
word/media/image10.gif
输出如下所示:
[” joseph “,” Jane “, ” charlie “, ” john “]
94、decodeURI()和encodeURI()是什么?
EncodeURl()用于将URL转换为十六进制编码。而DecodeURI()用于将编码的URL转换回正常。
95、为什么不建议在JavaScript中使用innerHTML?
innerHTML内容每次刷新,因此很慢。在innerHTML中没有验证的余地,因此,更容易在文档中插入错误代码,从而使网页不稳定。
96、如何在不支持JavaScript的旧浏览器中隐藏JavaScript代码?
在标签之后的代码中添加“,不带引号。
在标签之前添加“// – >”代码中没有引号。
旧浏览器现在将JavaScript代码视为一个长的HTML注释。而支持JavaScript的浏览器则将“和“// – >”作为一行注释。
97、什么叫优雅降级和渐进增强?
优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效.
渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。
98、你有哪些性能优化的方法?(详情请看雅虎14条性能优化原则)。
(1)减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存,图片服务器。
(2)前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
(3)用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
(4)当需要设置的样式很多时设置className而不是直接操作style。
(5)少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。
(6)避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
(7)图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。
99、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
分为4个步骤:
(1),当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。
(2),浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。
(3),一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态表示一个正确的响应。
(4),此时,Web服务器提供资源服务,客户端开始下载资源。
100、ajax过程
(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.
(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)设置响应HTTP请求状态变化的函数.
(4)发送HTTP请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现局部刷新.
101、javascript继承的6种方法
1,原型链继承
2,借用构造函数继承
3,组合继承(原型+借用构造)
4,原型式继承
5,寄生式继承
6,寄生组合式继承
本文来源:https://www.2haoxitong.net/k/doc/06ccd54f2379168884868762caaedd3383c4b53d.html
文档为doc格式