js语法学习

来源:互联网 发布:蓝宇原型知乎 编辑:程序博客网 时间:2024/06/17 17:11

 081217返回历史页面

<input type="button" value="返回,但不能保证是同一个网站" onclick="javascript:history.go(-1);" />

1.typeof

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>typeof测试</title>
  5.     <script type="text/javascript">
  6.         function t(o){
  7.             alert(typeof(o));
  8.         }
  9.     </script>
  10. </head>
  11. <body>
  12.     <input type="button" value="测试typeof" onclick='t("hello");' />
  13.     <div>
  14.     把onclick设置为如下内容:<br />
  15.     onclick='var a;t(a);'则返回undefine<br />
  16.     onclick='t("hello");'则返回string<br />
  17.     onclick='t(true);'则返回boolean<br />
  18.     onclick='t(123);'则返回number
  19.     </div>
  20. </body>
  21. </html>

2.注册删除事件

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>注册删除事件</title>
  5.     <script type="text/javascript">
  6.         /************添加事件函数***************
  7.         参数一:输入标签id,不用双引号。
  8.         参数二:事件名称,比如"click",不是"onclick"。
  9.         参数三:响应事件的函数,直接写函数名。
  10.         注意,每执行一次,就添加一个事件监听,如果添加了两次,则执行两次。
  11.         */
  12.         function addEvent(obj,type,fn){
  13.             if(obj.addEventListener) obj.addEventListener(type,fn,false);
  14.             else if(obj.attachEvent){
  15.                 obj["e"+type+fn]=fn;//没看明白。
  16.                 obj[type+fn]=function(){obj["e"+type+fn](window.event);}
  17.                 obj.attachEvent("on"+type,obj[type+fn]);
  18.             }
  19.         }
  20.         //同上,删除事件响应函数。
  21.         function removeEvent(obj,type,fn){
  22.             if(obj.removeEventListener) obj.removeEventListener(type,fn,false);
  23.             else if(obj.detachEvent){
  24.                 obj.detachEvent("on"+type,obj[type+fn]);
  25.                 obj[type+fn]=null;
  26.                 obj["e"+type+fn]=null;
  27.             }
  28.         } 
  29.         //响应事件函数
  30.         function ff(){
  31.             alert('hello');
  32.             removeEvent(i1,"click",ff);
  33.         }
  34.     </script>
  35. </head>
  36. <body>
  37. <input id="i1" type="text" />
  38. <input type="button" value="添加事件" onclick='addEvent(i1,"click",ff);' />
  39. </body>
  40. </html>

猴子的方法:

function ae(o,e,f){if(!e){f=o;o=window;e="load"}try{o.attachEvent("on"+e,f)}catch(s){o.addEventListener(e,f,false)}}

用法同上,再研究。

3.取得鼠标位置

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>显示鼠标位置</title>
  5.     <script type="text/javascript">
  6.     //取得坐标函数原型,注意参数必须是event
  7.     function show_coords(event)
  8.       {
  9.           x=event.clientX
  10.           y=event.clientY
  11.           alert("X coords: " + x + ", Y coords: " + y)
  12.       }
  13.     //用来返回坐标的函数,猴子自创。
  14.     function fe(e){ee=e||event;return{x:e.clientX,y:e.clientY}}   
  15.     //取得坐标的方法。   
  16.     function f(){
  17.         var b = fe(event);
  18.         alert(b.x+"||"+b.y);
  19.     }
  20. </script>
  21. </head>
  22. <!--<body onmousedown="show_coords(event)">-->
  23. <body>
  24. <div>hello</div>
  25. <input type="button" value="坐标" onclick='f();' />
  26. </body>
  27. </html>

4.eval

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>执行运算</title>
  5.     <script type="text/javascript">
  6.         function json(s){try{return eval("("+s+")")}catch(e){return null}}
  7.         function f(s){
  8.             alert(json(s));
  9.         }
  10.     </script>
  11. </head>
  12. <body>
  13. <input type="button" value="运算" onclick='f("2+5");' />
  14. </body>
  15. </html>

 5.调试用函数

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>调试用的函数,将键值对,换行输出</title>
  5.     <script type="text/javascript">
  6.         //接受键值对,然后换行输出。
  7.         function debug(o){
  8.             a=[];
  9.             for(k in o)
  10.             a.push(k+":"+o[k]);
  11.             alert(a.join("/n"))
  12.         }
  13.         //返回键值对类型
  14.         function fo(o){l=o.offsetLeft;t=o.offsetTop;w=o.offsetWidth;h=o.offsetHeight;while(oo=o.offsetParent){l+=o.offsetLeft;t+=o.offsetTop}return {x:l,y:t,w:w,h:h}}
  15.         function f(o){
  16.             debug(fo(o));
  17.         }  
  18.     </script>
  19. </head>
  20. <body>
  21. <div onclick='f(this);'>hello</div>
  22. </body>
  23. </html>

原创粉丝点击