js文法學習

來源:互聯網
上載者:User

 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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.