前端知识点小总结

jsp中的9大内置对象:
request response session application out page exception config pageContext
Js原生AJAX:
获取XMLHTTPRequest对象,使用XMLHTTPRequest对象发送请求(GET,POST)
到服务端程序转换成 文本/HTML格式(XML,JSON)使XMLHTTPRequest对象接收响应,
接收响应并做相应处理,然后返回客户端应用
AJAX工作原理:
第一步:创建ajax对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp))
第二步:判断数据传输方式(GET/POST)
第三步:打开链接 open()
第四步:发送 send()
当ajax对象完成第四步(onreadystatechange)数据接收完成,
判断http响应状态(status)200-300之间或者304(缓存)执行回调函数
注意:检测XMLHttpRequest对象的readyState属性,该属性表示请求/响应过程的当前活动阶段,属性值如下:
0:未初始化。尚未调用open()方法
1:启动。已经调用open()方法,但尚未调用send()方法
2:发送。已经调用send()方法,但尚未接收到响应
3:接收。已经接收到部分响应数据
4: 完成。已经接收到全部响应数据,而且已经可以在客户端使用了(
如果写原生的js ajax请求需要等到 readyState==4的时候再做处理)其他的js库已经做好处理了
Tcp的三次握手:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户SYN(ack=j+1),同时自己也发送到一个SYN包(syn=k)即SYN+ACK包,
此时进入SYN_REW转态
第三次握手:客户端收到服务器端的SYN_ACK包向服务器发送确认包ACK(ack=k+1),此包发送完毕客户端和服务端进入
ESTABLISHED转态,
三次握手完成,客户端和服务器开始传送数据
jsp有哪些动作?作用分别是什么?
JSP共有以下6种基本动作
include:在页面被请求的时候引入一个文件。
useBean:寻找或者实例化一个JavaBean。
setProperty:设置JavaBean的属性。
getProperty:输出某个JavaBean的属性。
forward:把请求转到一个新的页面。
plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
js去重:
方法一:遍历数组,建立新数组,利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组
function removeDuplicatedItem(ar) {
var ret = [];
for (var i = 0, j = ar.length; i < j; i++) {
if (ret.indexOf(ar[i]) === -1) {
ret.push(ar[i]);
}
}
return ret;
}
方式2:遍历数组,利用object对象保存数组值,判断数组值是否已经保存在object中,
未保存则push到新数组并用object[arrayItem]=1的方式记录保存
function removeDuplicatedItem2(ar) {
var tmp = {},
ret = [];
for (var i = 0, j = ar.length; i < j; i++) {
if (!tmp[ar[i]]) {
tmp[ar[i]] = 1;
ret.push(ar[i]);
}
}
return ret;
}
方式3:数组下标判断法, 遍历数组,利用indexOf判断元素的值是否与当前索引相等,如相等则加入
function removeDuplicatedItem3(ar) {
var ret = [];
ar.forEach(function(e, i, ar) {
if (ar.indexOf(e) === i) {
ret.push(e);
}
});
return ret;
}
方式4:数组先排序, 然后比较俩数组一头一尾进行去重
function removeDuplicatedItem4(ar) {
var ret = [],
end;
ar.sort();
end = ar[0];
ret.push(ar[0]);
for (var i = 1; i < ar.length; i++) {
if (ar[i] != end) {
ret.push(ar[i]);
end = ar[i];
}
}
return ret;
}
jQ去重:
去重方式1:通常就是把字符串分割成数组,再对数组操作,相对来说数组的方法多些,方便些,最后再join成字符串
关于sort()方法,之所以先对数组元素排序,就是因为可以把相同的字符归到一起,就不用再双层循环,
要不然就得拿到每个元素,和剩余的逐个比对,这个sort会按照ASCII 字符顺序进行升序排列





原值



jquery中的ajax方法参数的用法和他的含义:
1.url:
  要求为String类型的参数,(默认为当前页地址)发送请求的地址。
2.type:
  要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,
例如put和delete也可 以使用,但仅部分浏览器支持。
3.timeout:
  要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。
4.async:
  要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,
请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
5.cache:
  要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),
设置为false将不会从浏览器缓存中加载请求信息。
6.data:
  要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,
将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看 
  processData(防止自动转换)选项。对象必须为key/value格式,
例如{foo1:“bar1”,foo2:“bar2”}转换为&foo1=bar1&foo2=bar2。
如果是数组,JQuery将自动为不同值对应同一个名称。
例如{foo:[“bar1”,“bar2”]}转换为&foo=bar1&foo=bar2。
7.dataType:
  要求为String类型的参数,预期服务器返回的数据类型。如果不指定,
JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。
可用的类型如下:
  xml:返回XML文档,可用JQuery处理。
  html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
  script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。
注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
  json:返回JSON数据。
  jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,
JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
  text:返回纯文本字符串。
8.beforeSend:
  这个参数主要是为了在向服务器发送请求前,执行一些操作。
要求为Function类型的参数,发送请求前可以修改XMLHttpRequest对象的函数,
例如添加自定义HTTP头。在beforeSend中如果返回false可以取消本次ajax请求。
XMLHttpRequest对象是唯一的参数。
function(XMLHttpRequest){
this; //调用本次ajax请求时传递的options参数
}
9.complete:
  要求为Function类型的参数,请求完成后调用的回调函数(请求成功或失败时均调用)。
参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。
function(XMLHttpRequest, textStatus){
this; //调用本次ajax请求时传递的options参数
}
10.success:
  要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
(1)由服务器返回,并根据dataType参数进行处理后的数据。
(2)描述状态的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
this; //调用本次ajax请求时传递的options参数
}
11.error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、
捕获的错误对象(可选)。ajax事件函数如下:
function(XMLHttpRequest, textStatus, errorThrown){
//通常情况下textStatus和errorThrown只有其中一个包含信息
this; //调用本次ajax请求时传递的options参数
}
12.contentType:
要求为String类型的参数,当发送信息至服务器时,
内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。
13.dataFilter:
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。
data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。
函数返回的值将由jQuery进一步处理。
function(data, type){
//返回处理后的数据
return data;
}
15.global:
要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。
设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。
16.ifModified:
要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。
服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。
17.jsonp:
要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。
该值用来替代在"callback=?“这种GET或POST请求中URL参数里的"callback"部分,
例如{jsonp:‘onJsonPLoad’}会导致将"onJsonPLoad=?“传给服务器。
18.username:
要求为String类型的参数,用于响应HTTP访问认证请求的用户名。
19.password:
要求为String类型的参数,用于响应HTTP访问认证请求的密码。
20.processData:
要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)
以配合默认内容类型"application/x-www-form-urlencoded”。
如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。
21.scriptCharset:
要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script”,
并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。
事件
js jquery
------------------------------
onclick click 单击事件
dbclick 双击事件
onfocus focus 获取焦点
onblur blur 失去焦点
onchange change 内容改变
onload (function());/(function(){});/(function());/(document).ready(function(){}); 页面加载
onmouseover mouseover 鼠标经过
onmouseout mouseout 鼠标离开
keydown 键盘按下事件
keyup 键盘弹起事件
keypress 键盘按下弹起事件
onsubmit submit 提交表单,eg:$(“form”).submit();

·常用方法
js jquery
------------------------------
value val(text) 获取/设置表单元素中value属性的值
html(obj) 获取/设置(文本,元素)指定元素中的所有内容,如果内容中有标签则原样显示
text(text) 获取/设置文本内容,如果文本内容中包含标签则原样显示不做解析
getAttribute attr(attr) 获取属性值
setAttribute attr(attr, val) 设置属性值
addClass(text) 添加class属性
removeClass(text) 删除class属性
append(obj) 在指定元素之后插入其他元素
prepend(obj) 在指定元素之前插入其他元素
after(obj) 在指定元素之后插入其他元素,与指定元素紧紧相邻的位置
before(obj) 在指定元素之前插入其他元素,与指定元素紧紧相邻的位置
remove() 删除指定元素
empty() 指定元素中的内容置空
$(this) 获取当前对象
css(style, value) 设置css样式,单个样式
css(
{style: value,
11
style:value
}) 设置css样式,多个样式
css(style) 获取指定样式的值
show() 显示元素
hide() 隐藏元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值