JS知识一:系统知识笔记总结

这些是JS的相知识,包括它的基础与语法、函数讲解、运算符、对象方法、各种事件、DOM与XML复杂处理、页面系列方法、正则操作、浏览器与操作系统有关、表单相关操作、JQry框架相关、主流函数等相关知识。

基础与语法:
1:区分大小写(与Java、C、Perl类似)。
2:变量是弱类型,可以将它初始化为任意值,用var申明时并不一定在初始化。eg: var test="hi", test2=25, test3。首字母只:字母|_|$。
3:结尾分号可有可无(没有碰到过)。
4:注释为//和/**/,与Java、C和PHP相同。
5:括号表明代码块(()和{})。
6:关键字:break,else,new,var,case,finally,return,void,catch,for,switch,while,contin。
 function,this,with,default,if,throw,delete,in,try,do,instanceof,typeof。
7:保留字:abstract,enum,int,short,boolean,export,interface,static,byte,extends,long,super,char,final,native,synchronized。
 class,float,package,transient,debugger,implements,protected,volatile,do le,import,p lic。
8:原始类型(primitive type):Underfined,NUll,Boolean,Number,String。
9:isFinit(值):判断值是否为无穷大|小。
10:isNaN(值):Not a Number,一个奇怪的特殊值,常在转换失败时产生。eg: isNaN("bl")将返回tr;
转换:
toString():转换成字符串:
var bFound = false; alert(bFound.toString()); //outputs "false"。
Number默认模式:var iNum1=10,fNum2=10.0;alert(iNum1.tostring()); //outputs "10" alert(iNuM2.toString());//outputs "10"。
Number基模式:var iNum=10; alert(iNum1.toString(2));//outputs "1010" alert(iNum1.toString(8));//outouts "12" toString(16)-A。
parseint()|parseFloat():转换成数值型:
parseInt("值",进制):转换成数字(只对String类型调用才能正确运行,其它返回NaN):1234bl-1234,0xA-10,22.5-22,bl-NaN。
parseInt():丢弃小数部分,保留整数部分、Math.ceil():向上取整,有小数就整数部分加、Math.round():四舍五入、Math.floor():向下取整。
parseFloat():转换成浮点数:第一个小数点有效、只认识十进制。1234blut=1234.0,0xA-NaN,22.5-22.5,2.35.6-2.35,0807-807,bl-NaN。
强制类型转换:
Boolean():""-false,hi-tr,100-tr,null-false,0-false,new object()-tr。
Number():false-0,tr-1,undefined-NaN,null-0,5.5-5.5,56-56,5.6.7-NaN,new Object()-NaN,100-100。
String():null-"null"。
引用类型:Object类,Boolean类,Number类,String。
申明时只有一个参数时()可以省略,多个参数进不可以。eg: var 0=new Object|var 0=new Object(参数1,参数2,参数3)。

 

函数:
对象.toFixed(小数位数值):定位小数位数方法(0-20位)。
对象.toExponential(位数):定位浮点数位数。99.toExponential(1)-9e+1。
对象.Math.round(val*100)/100:保留两位小数。
对象.toPrecision():返回数字的预定义形式或指数形式。99.toPrecision(1)-1e+2。前三种方法都会进行舍入操作。
charAt()|charCodeAt():访问的是字符串中的单个字符(得到字符串的字符|得到字符串字符的字符代码)。
concat():用于一个或多个字符中的连接(像+号)。
indexOf()|lastIndexOf():寻找字符在字符串中出现的位置(从开始位置找|从最后位置找(0开始算))。
对象.localeCompare(值):排序比较。对值而言:对象排在前返回-1,与值相等返回0,排在后返回1(区分大小写)。
对象.slice(开始位置,结束位置):从字符串中截取子串的方法(0算起不包括开始位置),长度省略时为默认字符串的本身长度。
对象.s string(开始位置,结束位置):它的用法与slice()函数差不多,但当开始位置值为负数数它会解析成0,而slice()不会如此。
对象.toLowerCase|toLocaleLowerCase():用作值的小写转换,后者用在不同区域国家语言,不知编码运行语言情况下后者更佳。
对象.toUpperCase|toLocaleUpperCase():用作值的大写转换,后者用在不同区域国家语言,不知编码运行语言情况下后者更佳。

 

运算符:
一元运算符:
delete():删除对前定义对象属性或方法的使用,将其设置为underfined,删除开发者未定义的属性和方法叶引发错误。eg: delete o.name。
void():对任何值都返回undefined,作新窗口的打开不限空白页。eg: Me
前++|--,后++|--:借用C和Java的运算符。
+|-:一元加法和一元减法,应用于字符值数时会被转换成真正的数字"25"转换成25,一元减法运算会把字符串"25"转换成-25。
位运算符:重温整数,伴运算NOT,位运算AND,位运算OR,位运算XOR,左移运算,有符号右移运算,无符号右移运算。
Boolean运处符:NOT-!,AND-&&,OR-||……。

 

对象值有关:
ECMAScript语言为JavaScript实现提供了完整的面向对象语言能力,ECMA-262中定义了本地对象、内置对象和宿主对象三种不同类型的对象。
关键字this总是指向调用该方法的对象。
对象=null:面向对象中强制性废除对象收回内存方式。
document|表单名.对象名.val="值":得到|赋 页面对象值方式。
表单名.对象名.style.display="值":得到|赋 页面对象风格方式。
表单名.对象名.src="http://blog.163.com/wangxiaoxia1221@126/blog/值":得到|赋 页面图片值对象方式。
表单名.对象名.val.indexof("值"):得到对象指定下标位值方法。
对象.width=对象.width±值:设置对象宽方法。
对象.height=对象.height±值:设置对象高方法。
if(对象1.offsetWith-对象2.scrollLeft<=0) 对象2.scrollLeft=0:判断对象是否在最左。
对象.scrollLeft=对象.scrollLeft±10:向左|右滚动十个像素。
对象.innerHTML|TEXT:得到标签中的HTML内容|HTML标签中的值。
对象.οnmοuseοver=function{方法名()}:鼠标移在对象上时产生的方法。
对象.οnmοuseοut=function{方法名()}:鼠标移出对象时产自的方法。
document.all.对象.Execwb(6,1):打印对象实现(6,6)直接打印|(8,1)页面设置|(1,1)打开页面|(2,1)关闭所有打开的IE窗口。
document.all.对象.Execwb(7,1):打印预览对象实现(4,1)保存页面|(10,1)查看页面属性|(17,1)全选|(22,1)刷新|(45,1)关闭窗口无提示。
document.all.WebBrowser.Execwb(7,1):IE内置控件打印预览(6,6)直接打印|(8,1)页面设置|(1,1)打开页面|(2,1)关闭所有打开的IE窗口。
document.all.WebBrowser.Execwb(4,1):IE内置控件打印保存页面|(10,1)查看页面属性|(17,1)全选|(22,1)刷新|(45,1)关闭窗口无提示。
tab.offsetWidth、tab.offsetHeight:得到一个表格的宽和高。
window.document.body.scrollHeight、window.document.body.scrollWidth:得到一个页面的宽和高。

 

对象方法有关:
表单名.对象名.select()|focus():对象获得焦点方法。
οnclick="方法名(参数)":点击对象所产生方法。
onmousewheel=方法名(参数):鼠标滑动产生方法。
parent.对象名.focus():获得对象焦点方法。
onBlur="方法名(参数)":鼠标离开对象所产生的方法。
对象.lenght():得到对象大小方法。
对象.join(连接方式):连接字符串值方法。eg: var col=["red","bl"]; alert(col.join("-")); //outputs "red-bl";
toString|valOf():数组转换成字符串方法。
split(分隔符):字符串转换成数组方法。
concat(值):在数组末尾附加值方法。
对象.slice(开始位置,位置):从数组字符串中截取元素的方法(0算起不包括开始位置),位置省略时默认到数组最后位置。
对象.push|pop():在数组中添加|删除最后一个数组项。
对象.shift|unshift(值):在数组中的删除|添加第一个项方法。
对象.reverse():颠倒数组项方法。
对象.sort():对数组进行排序方法。
对象.splice(第一个位置,项数):删除数组多项方法。
对象.splice(插入位置,0,值//可多个):添加数组项而不删除方法。
对象.splice(插入位置,1//删除插入位置项,值//可多个):添加数组项而删除方法。
创建日期方法:
 var d = new Date(Date.parse("May 25, 2004"))。
 var d = new Date(Date.UTC(2004, 1, 5)): //outputs "2004年2月5号";
 var d = new Date(Date.UTC(2004, 1, 5, 13, 5)): //outputs "2004年2月5号下午1:05分";
 toDataString():以实现特定的格式显示Date的日期部分。
 toTimeString():以实现特定的格式显示Date的时间部分。
 toLocaleString():以地点的格式显示Date的日期和时间。
 toLocaleDateString():以地点特定的格式显示Date的日期部分。
 toLocaleTimeString():以地点特定的格式显示Date的时间部分。
 toUTCString():以实现特定的格式显示Date的UTC时间。
 getTimezoneOffset():说明某个时区与UTC时间的关系,判断时区使用的是否是夏令时。
encodeURI|decodeURI():处理完整的URI(统一资料标识符),对特殊字符进行编码|解码。
ecnodeURIComponent|decodeURIComponent():用于处理URI的一个片断,对所发现的所有非标准字符进行编码|解码,eg: #,%,&……。
eval(值):执行值,它是ECMAScript语言中最强大的方法。
本地内置对象:Global|Math对象,Math对象处理数学问题的所有公式,eg: alert(Math.max|min|abs(3,2,25)); //outputs "25"|"2"|绝值。
ceil()|floor|round()数字向上四舍五入|数字投下四舍五入|标准四舍五入,eg: alert(Math.ceil|round|floor(5.5)); //outputs 6|6|5。
Math.randow():返回0-1之间的随机小数。
prototype属性:创建新对象所依赖的原型,常用在函数构造方法中,可用还用来修改、添加新原型属性的方法。
_initialized:用来判断是否已给原型赋予其他语言中的类定义了。
append|join():把参数附加到字符串数组中|连接一组字符串。
call():对象冒充方法,eg: 方法.call(对象,参数1,……)。
apply():与call()方法类似,eg: 方法.applay(对象,参数数组(参数……))。
子类.prototype.inheritFrom(父类):类的另类继承方式之一。
子类.instanceOf(父类):类的另类继承方式之二。
有关document对象:它是window对象的属性,它的通用属性有:
 alinkColor激活链接颜色|bgColor页面背景|fgColor页面文本|lastModified最后修改时间|linkClor链接颜色
 referrer浏览历史最后URL|title标签文本//top.document.title="值"访问设值方式。
 vlinkColor访问过链接颜色|URL载入页面//document.URL="值"文章设值方式。
 它的集合对象:anchors锚|applets|embeds嵌入式对象|link链接集合。
 forms表单对象:document.form[数值]或document.forms[值]访问。
 images图像集合:document.images[数值]或document.forms[值]访问。
 它的对应方法:write|writeln()写入内容|open()打开已经载入的文档|close()关闭open()方法打开的文档
有关location对象:它是window对象和document对象的属性:
 hash返回URL地址中#后的内容|host服务器名|hostname可能不包括www的服务器名|href|assign当前载入的页面完整URL
 pathname:URL地址后的内容|port:URL中声明请求商品|portocal:URL中使用的协议,即//之前的内容|search:URL问号后面内容。
 replace当前载入的页面完整URL不留下历史|reload(tr)重载入页面,tr时从服务器端载入|toString返回location.href的值。
另外的两个对象:navigator有关浏览器信息,大数浏览器很多方法并不支持|screen有关用户屏幕作息。
锚 点的实现:定义,链接实现点击我连接到TOP、若要链接到同一文件夹内其它文档中的名为“top”的锚记,请键入 filename.html#top。
文字链接实现表单提交:确定,CheckUserDetails(){... document.myform.s mit())。
判断是否有按Ctrl+Enter键:(event.ctrlKey && event.keyCode == 13) || (event.altKey && event.keyCode == 83)。
JS传递参数包含汉字处理:三种编解码方式 js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent。

 

事件有关:
DOM标准定义事件类型:鼠标事件、键盘事件、HTML事件、突变事件。
鼠标事件:click,dbclick(双击),mousedown,mouseout,mosover,mouseup,mouseove(某个元素上持续发生)。
键盘事件:keydown,keypress,keyup。
HTML事件:load,unload,abort,error,select,change,s mit,reset,resize,scroll,focus,blur。
变化事件:KOMS treeModified,DOMNodeInserted,DomNodeRemoved,DOMNodeRemoveFromDocument,DOMNodeInsertecIntoDocument。
对象.attachEvent|detachEvent(函数,函数名): 对象添加|分离函数方法,eg: 
var f1|2=function(){alert(F1|2);}; var o=document.getElementById(ID名); o.οnclick=f1;o.attachEvent("onclick",f2);: 给对象添加方法的两种方式。
对象.addEventListener|removeEventListener(函数,函数名,tr|false//捕获|冒泡阶段): 对象添加|移除事件处理方法,eg: 
var f1|2=function(){alert(F1|2);}; var d=document.getElementById(ID名); 
o.οnclick=f1;o.addEventLister(onclick,f2,false);: 给对象添加事件方法的两种方式,删除事件方法前必须做一些删除事件处理函数方法。
oEvent.type|keyCode|shiftKey|altKey|ctrlKey: 得到事件类型|按键数值(回车:13,空格:32,回退:8)|Shitf是否被按|Alt是否被按|Ctrl是否被按方法。
oEvent.clientX|clientY|screenX|screenY: 在窗口区域内的位置离边界有多少像素|离桌面屏幕边界有多少像素。
oEvent.srcElement|target: IE|DOM中获取激发事件目标方法。
if (oEvent.isChar) String.fromCharCode(oEvent.charCode): DOM获取按键字符值方法。
oEvent.returnVal=false|oEvent.preventDefault(): 阻止某个事件的默认行为。
oEvent.calcelB lle=tr|oEvent.stopPropagation(): IE|mozilla中停止事件复制。
拖动项事件:dragstart,drap,dragend,使用事件时在前加on。
放置目标事件:dragenter,dragover,dragleave,drop,使用事件时在前加on。
拖动放置实现数据传输:oEvent.dataTransfer.setData(名,值); var s=oEvent.dataTransfer.getData(名);:名可以是text值或者url值。
dataTransfer判断放置目标动作特性:dropEffect(包括none,move,copy,link),effectAllwed(包括uninitialized,none,copy,link,move,copyLink,copyMove,all)
处理错误函数:onerror(错误信息,所在文件,行号)和try...catch结构。
删 除方式:删除

 

与DOM和XML有关:
与DOM有关:
getElementsByTabName():得到标签名方法,eg: var b=document.getElementsByTabName("img|input"); alert(b[0].tabName)。
getElementsByName():得到name特性指定的值,eg: var n=document.getElementsByName("radio"); alert(n[0].getAttribute("val"))。
getElementByID():得到ID特性指定的值,eg: var i=document.getElementById("div")。
createElement|createTextNode|appendChile():创建元素|创建节点|把创建好的文本节点加入到元素中。eg: 
 
removeChild(节点对象)|replaceChild(新节点,替换节点)|insertBefore(新节点,之后节点):删除节点|替换内容|新消息出现旧消息之前。 
createDocumentFragment():以文档碎片的方式加入节点,为之不变得十分缓慢。
DOM访问CSS样式:eg: 单个单词style.color,多个单词style.backgroundColor。
this.style.cssTest: DOM得到CSS内容方法。
DOM对象方法交互CSS样式:getPropertyVal(名),getPropertyPriority(),item(index),removeProperty(名),setProperty(名,值//import,priority)。
document.styleSheet[0].cssRules||document.styleSheets[0].rules: 得到使用了引用的CSS样式的规则方法。
对象.style|currentStyle.backgroundColor: 方法是错误的|得到CSS样式对象值。
document.defaultView.getComputedStyle(对象,null).backgroundColor: DOM得到CSS最终样式对象方法,此方法不可运用赋值运算。
对象.innerText|innerHTML|outerText|outerHTML: 给对象添加文本|HTML控件|删除文本|删除HTML控件方法。
document.implementation.hasFeature("Range","2.0"): DOM判断是否有Range方法实例。
与XML有关(以下的对象都表示:XmlDom对象):
对象.loadXML(xml代码):载入XML代码方法,load(文件):载入XML文件方法,对象会返回0,1,2,3,4五种可能值会触发onreadystatechange事件。
对象.documentElements.childNode[1]|对象.xml:得到XML节点方法。
对象.async=false:同步载入方式。
getAllResponseHeaders():得到HTTP请求发送时的头部全部信息。
对象.setReqstHeader(类型,值)|getResponseHerser(类型): 设置|得到指定头部信息。
XMLHTTP对象.open(get,地址,tr|false//同异步): 进行GET请求。
XMLHTTP对象.open(post,地址,false);XMLHTTP对象.setReqstHeader("Content-Type","application/s-www-form-urlencoded");
XMLHTTP对象.send(对象): 进行POST请求。

 

页面方法有关:
window.showModalDialog('页面','','dialogWidth=600px status=no ...'):页面中显示新页面窗口方法。
window.open("页面","newframe","top=20,width=20,height=10,men ar=no,toolbar=no,location=no,scrollbars=no"):打开新页面方式。
window.showModalDialog(" 页面","","dialogWidth="+screen.width+"px;dialogHeight="+screen.height+"px; status=no;help=no;scrollbars=no"):全屏式打开新窗口。
window|窗口对象.close():关闭页面方式。
alert("值"):弹出对话框方法一。
confirm("值"):弹出对话框方法二,返回boolean值。
prompt("值","值"):弹出对话框方法三,同时能接收值。
setInterval(方法名,时间间隔):每间隔内自动执行方法。    
clearInterval(对象):清除对象的Interval()方法。
window.location.href="http://blog.163.com/wangxiaoxia1221@126/blog/页面":实现页面跳转方法。
window.print():调用IE自身打印功能实现打印。
:禁止网页被复制方法。
:禁止网页被另存为方法。
Javascript:window.open('页面','','width=767,height=698'):屏蔽IE主菜单方式。
function click() {event.returnVal=false;|if(event.button=2)alert("禁止使用右键!");}:禁止使用右键方式。
13(回车键)|116(刷新键)|37(方向键)|78(新建IE窗口)|121(shitf+10合)
function keydown(){if(event.keyCode==8){event.keyCode=0;event.returnVal=false;alert("禁止退格")}}:屏蔽键盘相关按键事件。
moveBy(右移像数,上移像数):负值时按相反方向移。
moveTo(像数,像数):窗口位置
resizeBy(宽度增加像数大小,高度添加像数大小):相当对当前窗口大小,调整子窗口多少像数,负数为减少。
resizeTo(宽度,高度):窗口大小,不能使用负数。
IE提供:window.screenLeft|screenTop判断窗口位置,document.body.offsetWidth|offsetHeight:获取窗口大小。 
Mozilla和Opera和Safari提供:window.screenX|screenY判断窗口位置,
 window.innerWidth|innerHeight:获取窗口大小。
 window.outWidth|outHeight:浏览器窗口大小。
window.defaultStatus="值":设置用户离开当前页面前的显示信息。
window.status="值":设置窗口状态栏信息。
setTimeout(对象|方法,间隔毫秒):暂停时间后要执行的方法。
clearTimeout(对象):清理对象方法。
setInterval(对象|方法,间隔毫秒):时间间隔后循环执行的方法。
ClearInterval(对象):清理对象。
window.history.go|back|forward(数值):去前一页或后一页,window可以省略,history.length可得到试问历史页面数。
运用JS通过DOM实现页面元素的遍历实例:
 NodeIterator Example
 

Note: The NodeIterator object has only been implemented in Opera 
 TreeWalker instead.

Hello World!

  • List item 1
  • List item 2

  •  
  • List item 3


 
检查浏览器是否支持DOM方法:var bxmllevel=document.implementation.hasFeature("XML","1.0"),这种方式当浏览器只支持DOM的一部分功能时也会返回tr。
js关闭页面:javascript:window.close()、window.opener=null;window.close()关闭页面无任何提示;
js添加收藏:javascript:window.external.AddFavorite(document.URL,document.title);return false;
preg_match('#^([^\.]*)\.#',$host,$match);$host_user = $match[1];从地址得到要访问的数据库。
window.open('index.php','_parent','fullscreen=1');window.opener=null;window.open('','_self');window.close():JS打开新窗口,关闭原窗口。
JS刷新窗口方法:
 1    history.go(0)
 2    location.reload()
 3    location=location
 4    location.assign(location)
 5    document.execCommand('Refresh')
 6    window.navigate(location)
 7    location.replace(location)
 8    document.URL=location.href。 
 :页面自动刷新,其中20指每隔20秒刷新一次页面。
 :页面自动跳转,其中20指隔20秒后跳转到http://www.google.com页面。
 function myrefresh(){window.location.reload();}setTimeout('myrefresh()',1000):页面自动刷新js版。
 parent.location.reload():如何刷新包含该框架的页面用。
 self.opener.location.reload():窗口刷新父窗口。
 parent.otherFrameID.location.reload():如何刷新另一个框架的页面用。
 window.opener.document.location.reload():实现刷新。
 :开窗时刷新、:关闭时刷新。

 

与正则表达式有关:
JS中每个正则表达式都是一个对象,用 RegExp来表示,用RegExp.$1|$2……得到各个值。常用来测试:日期、信用卡号、URL、E-mail地址。
正则表达式所用到的元字符:( [ { \ ` $ | ) ? + ,。
var s="a bat, a cat"; var rs=/cat/; var a=rs.test|exec(s):判断某个值是否匹配指定模式方法,返回tr或false|一个条目。
var s="a bat, a cat"; var rs=/cat/gi; var a=rs.match|search(s):某个值在某个对象中的出现状况,返回一个数数|值出现的位置,gi是处理指令。
var s="Is red"; var r=/red/; var sr=s.replace(r, function(sMatch) { return "bl";}); alert(sr); //outputs "Is bl",替换值方法。
var s="red, bl"; var r=/\,/; var ar=s.split(r);按指定模式分隔值方法。
边界模式:`|$|\b|\B:以开关|结尾|单词边界|非单词边界。eg: /(\w+)\.$/|/`(\w+)/|/`(.+?)\b/: .前的单词|第一个单词|单词边界之前可以出现任意字符。
/\b(\S+?)\b/g|/(\w+)/g: 返回空格分开的所有单词。
/(w+$)/g|m: 返回最后一个单词|有换行会返回多个。
验证日期:day: /0[1-9]|[12][0-9]|3[01]/,month: /0[0-9]|1[0-2]/,year: /19|20\d{2}/,组合模式:/?:day\/?:month\/?:year/,还要整理。
验证货币:/^[\d.]*$/。
验证护照:/(P\d{7})|(G\d{8})/。
验证信用卡:reMasterCard: /^(5[1-5]\d{2})[\s\-]?(\d{4})[\s\-]?(\d{4})[\s\-]?(\d{4})$/。
验证车牌号码:/^[\一-\龥]?[a-zA-Z]-\w{5}$/;车牌号标准:第一个符是汉字、第二个是字母,后面四个是数字。
验证身份证号:/\d{17}[\d|X]|\d{15}/。
验证是否为汉字:/[^\一-\龥]/。
验证电话号码:function isTelephone(str){ var reg=/^[0-9]{11}$|^[0-9]{3,4}(\-[0-9]{7,8})$|^[0-9]{10,12}$/; return reg.test(str)}。
验证数字数值:function isNumber(str) {var reg=/^[0-9]{0,9}$/; return reg.test(str);}。
验证do le数值:function isDo leTwo(str) {var reg=/^(([0-9]{0,9}(\.)?(\d*[0-9])?)|(0\.\d*[1-9]))$/;return reg.test(str);}。
验证do le数值指定位:function isDo leTwo(str) {var reg=/^(([0-9]{0,9}(\.)?(([0-9]){1,2})?)|(0\.\d*[1-9]))$/;return reg.test(str);}。
验证电子邮件:reEmail: /^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/。
 function isEmail(str){    var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;    return reg.test(str);}

 

与浏览器|操作系统有关:
浏览器的两种检测方式:对象/特征检测:document.getElementById和user-aget:navigator:userAgent字符串检测。
Netscapte Navigator3.0与IE3.0: parseFloat(navigator.appVersion)|navigator.userAgent.indexOf(Win95|Windows 95)可以得到浏览器版本号|OS。
对象/特征检测:浏览器检测前两步:var s=navigator.userAgent;var f=parseFloat(navigator.appVersion);: 将user-agent字条串保存到本地并得到浏览器版本。
isMinIE5|isIE5|isIE6|isIE7……: 检验IE版本。
sUserAgent.indexOf("Opera")>-1;:检测Opera浏览器。
sUserAgent.indexOf("KHTML")>-1||sUserAgent.indexOf("Konqror")>-1||sUserAgent.indexOf("AppleWebKit")>-1;: 检测Konqror/Safari浏览器。
sUserAgent.indexOf("compatible")>-1||sUserAgent.indexOf("MSIE")>-1&&!isOpera;: 检测IE浏览器。
sUserAgent.indexOf("Geoko")>-1&&!isKHTML;: 检测Mozilla浏览器。
sUserAgent.indexOf("Mozilla")==0&&navigator.appName=="Netscapt"&&fAppVersion>=4.0&&fAppVersion<5.0&&!isIE&!isOpera&&!isMoz&&!isKHTML;: 检测NC
操作系统:
navigator.platform=="Win32"||navigator.platform=="Windows;: 检测Windows系统。
navigator.platform=="Mac68K"||navigator.platform=="MacPPC";: 检测Macintosh系统。
navigator.platform=="X11"&&!isWin&&!isMac;:检测Unix系统。

 

与表单有关:
HTML表单

特性:method,action,enctype,accept,accept- charset,,) />,
通过type运用的特性:text,radio,checkbox,file,password,button,s mit,reset,hidden,image。
获取表单引用的方法:document.getElementById("表单名")|document.forms[0]|document.forms["表单名"]。
访问表单字段方法:表单.elemetns[0]|elements[对象名]|对象名|[对象名]|document.getElemetnById(ID名)。
表单字体(除隐藏字体)包含的特性,方法和事件:disabled,form,blur,focus,onblur(),onfocus()。
文本框事件:change|select|focus|blur: 更改内容失去焦点时|选择内容时|得到焦点时|失去焦点时 发生。

 

与页面元素有关:
下拉列表:
 str.options[str.selectedIndex].val|text|selected:得到实际值|显示值|选择状态。
得到option选项的显示值:document.getElementById("id").options[document.getElementById("id").selectedIndex].text。
得 到option选项的实际 值:document.getElementById("id").options[document.getElementById("id").selectedIndex].val|document.getElementById("id").val。

 

相关框架:
JQry:
JQry相关功能(JQry能做对象DOM、处理相关对象事件、排序数据、产生各种页面效果等):
 JQry基础处理申明:$(document).ready(function() { …… });、简写:$(function() { …… });。
 监听所有对象点击对应的事件,eg:$("对象名").click(function() {alert("哈哈,胡素苗在自学 JQry!"); })。
 某一个对象添加样式,eg:$("#对象名").addClass("red");、某一个对象下级添加样式,eg:$("#orderedlist > li").addClass("bl");。
 某 一个对象相应事件发生时添加样式,eg:$("#orderedlist li:last").hover(function() {$(this).addClass("green");},function(){$(this).removeClass("green");});
 某一个对象遍历并处理,eg:$("#orderedlist").find("li").each(function(i) {$(this).html( $(this).html() + " 胡素苗! " + i );});。
 某一个对象实现监听处理,eg:$("#reset").click(function() {$("#form").each(function() {this.reset();});});。
 某一个对象判断是否有下级并处理,eg:$("li").not(":has(ul)").css("border", "1px solid black");。
 页面内针对对象存在某一属性时处理,eg:$("a[name]").css("background-color", "green");、$("form[name]").css("background-color", "bl");。
 某一个对象进行匹配验证处理,eg: $("a[href*=/content/gallery]").click(function() {  alert("hehe..."); });。
 处理对象相关事件展开与隐藏并带效果,eg: $("#faq").find("dd").hide().end().find("dt").click(function() { var answer  = $(this).next();
  if(answer.is("':visible")) {answer.slideUp();}else  { answer.slideDown(); }});。
 某 一个对象监听处理上级事件,eg:("a").hover(function() {$(this).parents("p").addClass("highlight");$(this).parents("p").css("background-color",yellow");}, 
  function() {$(this).parents("p").removeClass("highlight");$(this).parents("p").css("background-color", "#FFF"); });。
 定 义点击某一个对象时出现相应效果,eg:$(function() {$("a").toggle(function() {$(".st?").hide("slow");}, function() {$(".st?").show("fast");});});
  $(function () {$("a").toggle(function () {$(".st?").animate({ height: "hide",opacity: "hide"}, "slow");}, 
  function () {$(".st?").animate({ height: "show", opacity: "show"}, "slow");});});。

 

函数知识:
去除空格函数:
function trim(str){  //删除左右两端的空格
 return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ltrim(str){  //删除左边的空格
 return str.replace(/(^\s*)/g,"");
}
function rtrim(str){  //删除右边的空格
 return str.replace(/(\s*$)/g,"");
}

 

其它知识:
window.retureVal="值"                 ——页面返回值方式。
"   ——返回上一页方法。
echo "": —

你可能感兴趣的:(JS知识一:系统知识笔记总结)