w3c js笔记

来源:互联网 发布:win10软件很模糊 编辑:程序博客网 时间:2024/06/03 07:32

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元素

0 0
原创粉丝点击