Document.write +内部标签
Onchick事件onchick=”alert(‘something’)”
//动态修改文字
X=document.getElementById(‘demo’)//DOM中定义
X=innerHTML=”something”;
//动态修改图片
Element=document.getElementById(‘something’);
If(element.src.match(“A.gif”))
Element.src=”B.gif”;
//动态修改样式
x.Style.color=”color”;
//输入验证
IfNaN(element)返回boolean值
Implement:
<script>标签代替原来<scripttype=”text.javascript”>
函数放在head中,脚本数量不限,可以先使用后声明
外部javascript:script比标签中添加<src=”xxx.js”>,外部脚本不含<script>标签
Output:
Js通过id标签查找并操作html元素,例如通过innerHTML改变文字
Document.write将写入文档,如果文档已加载,将会覆盖文档内容。
Sentence:
分号截断,大小写敏感,\折行
Varity:
字母开头$ _开头,大小写敏感
数字字符串统一var声明可用,分割多个声明undefined(不能覆盖原有值)
单双引号不区分,var中无需转义
数组三种声明方式:标号、array(A,B,C),[] 对象:{}属性与槽
对象两种寻址方式:. [“”]
Null清空变量,声明种类,//并非设为undefined
Number-0 String-空字符串 Boolean-false Array-空 Object-[object:Object]
Object 错误引用返回undefined
对象:属性,方法
创建对象,定义属性
函数:function定义,return定义返回值,未定义的返回值为undefined,
修改参数内容:Arguments数组用于模拟函数重载通过valueOf,toString方法(所有对象共享)
函数内部变量仅在函数内部可以访问,闭包,全局变量生存时间一直到页面关闭
运算符:string与int相加int自动变为String,条件运算?:
for…in循环
for (x in person)
过滤:indexof lastindexof
try-catch(err)-throw函数
DOM(文档对象模型)根据元素/标签构造为树
通过在树中查找id tag class确定标签html注释<!--
修改HTML
.innerHTML(标签内容)
.attribute(标签属性) 例如src属性
.style.property背景、边框、布局、表单、列属性、表格、文本、标准。
DOM事件
Html中Onchick标签后面添加js函数
Onmusedown/Onmouseup
Onload Onfocus
OnmouseOver Onmouseout
添加删除节点(DOM图中html元素):将元素以节点形式操作
Parent.removeChild(child) 查找父元素:child.parentNode.remoceChiled(child)
createElement(“p”)添加document下元素,appendChild添加子节点
通过getByElementTagName()获取所有相同tag的节点列表,例如p,同时可以使用数组形式访问
根节点:
document.documentElement全部文档
Document.body文档主体
JS对象
属性,方法,创建,构造(this),添加方法(this.method)
对象废除:所有引用位置设为null 垃圾存储单元收集程序将自动废除
晚绑定(先使用/实例化再声名)
本地对象:ragexp对象,设立正则式过滤字符
内置对象:全局性的函数函数和变量,例如Infinity
宿主对象:JS宿主环境提供的对象,例如HTML提供的DOM对象
作用域:全部公有域,_可表达作保护域,this可用于限制引用方法的对象所在的域
BOM:JS支持的一种浏览器对象用于与浏览器的交互
Window基本属性:innerWidth/innerHeight 窗口对应DOM的document
Window基本方法:打开,关闭,移动,缩放
Screen availHeight/availWidth
Location hostname/pathname/port/protocol/href
assign(“url”)加载新页面
History back/forward
Navigator cookieEnabled/appCodeName…
慎用获取浏览器类型,因为可以被用户更改,可使用window专用测试获取,例如:if(window.opera)
弹框 alert/confirm/prompt
Time setTimeOut/clearTimeout
Cookie
//cookie为document的一个属性
Jquery: 标签 .byclass #byid
Ready防护机制
Selecter $(“”) $(“attribute”) $
常见方法:
Flash XSS:
getURL navigateToURL ExternalInterface.call ExternalInterface.call htmlText addcallback
储蓄型把数据保存到服务端,而反射型只是让XSS游走在客户端上
DOM XSS是基于在js上的。而且他不需要与服务端进行交互
链式语法(chaining):
jquery,prototype允许链式语法,例如:
$("h01").writeAttribute("style","color:red").insert("HelloPrototype!");
$(document).ready(function(){}
jquery操作:
ready-chick-dblclick—focus-mouseover
效果:
hide和show(speed,callback)toggle
slidedown-slideup-slidetoggle
fadeIn()-fadeOut()-fadeToggle()-fadeTo()
animate
stop
jquery操作html:
获取text,html,val
文档操作,属性操作,CSS操作
append,prepend添加after,before添加(无限添加)
remove(使用参数根据class过滤),empty
jquery对dom的遍历:
parent-parents-parentsUntil
children-
ajax:
xmlhttp对象
异步请求发生步骤:
//1.创建xmlhttp对象
xmlhttp=new XMLHttpRequest();
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");//code for IE5,IE6
//2.规定xml对象状态变化时操作:
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
//readyState代表XMLHttpRequest的四种状态:
//0:请求未初始化
//1:服务器连接已建立
//2:请求已接受
//3:请求处理中
//4:请求已完成,响应已就绪
//响应已就绪后xmlhttp.status代表返页面状态404/403/200…
//3.对象请求的创建:
xmlhttp.open("GET","/ajax/demo_get.asp",true);
//请求方式,url,异步与否
//通过添加时间参数,来防止读取缓存,参数二使用”url?t=”+math.random()
//构建请求
xml.setRequestHeader(“header_name”,”value”);
//仅在post方式中可以以此来添加HTTP头
//4.对象请求的发送
xmlhttp.send();
//send可添加字符串参数,作为post信息
//5.请求接受相关
xmlhttp.responseText//代表获取的服务器返回的text类型文件
xmlhttp.responseXml//代表获取的xml返回文件
function loadXMLDoc(url,cfunc)//callback的定义:
loadXMLDoc("/ajax/test1.txt",function()//callback的调用
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}
Asp操作
//获取请求参数
Request.querystring(“param_name”);
//发送回复
Response.Write(“answer”)
数据库操作:
//拼接查询
sql="SELECT * FROM CUSTOMERS WHERECUSTOMERID="
sql=sql & "'" &request.querystring("q") & "'"
//连接数据库
setconn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
//创建指针
setrs=Server.CreateObject("ADODB.recordset")
//发送查询
rs.Open sql,conn
//结果写入
response.write("<table>")
do until rs.EOF
foreach x in rs.Fields
response.write("<tr><td><b>" & x.name& "</b></td>")
response.write("<td>" & x.value &"</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
xml操作
在function中拼接html标签与获取的xml元素