JavaScript代碼段整理筆記系列(二)

上篇介紹了15個經常使用代碼段,本篇將把剩餘的15個補齊,但願對你們有所幫助!!!linux


  16.檢測Shift、Alt、Ctrl鍵:canvas

  event.shiftKey;  //檢測Shiftwindows

  event.altKey;   //檢測Alt瀏覽器

  event.ctrlKey;  //檢測Ctrlapp

  17.獲取屏幕分辨率的寬、高:
iphone

  window.screen.height;  //獲取屏幕的高函數

  window.screen.width;   //獲取屏幕的寬性能

  18.腳本永不出錯的方式:
學習

  window.onerror=function(m,f,l){編碼

    return true;

  };

  19.讓 JavaScript 處理字符與 ASCII 碼之間的轉換:

  console.log("a".charCodeAt(0));       //97

  console.log(String.fromCharCode(75));  //K

  charCodeAt()返回指定位置字符的 Unicode 編碼;fromCharCode()接收一個指定的 Unicode 值,而後返回一個字符串。

  20.訪問對象屬性:

  var demo = {name: 'ki'}

  demo.name;  //ki

  demo['name']; //ki

  訪問對象屬性通常經過兩種方式,即「.」或「[ ]」。通常狀況下兩種方式等效,可是「[ ]」還能夠動態設置屬性,如:

  var get = 'name';

  demo [get];  //ki

  21.把一個值轉換爲布爾型:

  !!'demo';  //true

  !!'';      //false

  !!'0';      //true

  !!'1';     //true

  !!{};    //true

  !!true;    //true

  使用"!"操做符兩次,能夠把一個值轉換爲布爾型。

  22.判斷瀏覽器是否支持 HTML 5:

  !!navigator.geolocation;

  23.判斷瀏覽器是否支持 Canvas:

  function isCanvas( ) {

     return  !!document.createElement('canvas').getContext;

  }

  24.判斷 IE 版本:

  window.navigator.appVersion;

  上述代碼返回一個字符串,表示所使用瀏覽器的版本號。

  25.聲明變量的縮略寫法與複雜寫法:

  /*複雜寫法*/

  var x;

  var y;

  var z = 3;

  /*縮略寫法*/

  var x, y, z = 3;

  26.採起惰性載入的方案提升函數代碼的性能:

 1 function addEvents (type, element, fun) { 2 
 3     if (element.addEventListener) { 4 
 5     } 6 
 7     else if(element.attchEvent) { 8 
 9        element.attachEvent('on' + type, fun); 10 
11     } 12 
13     else { 14 
15          element['on' + type] = fun; 16 
17     } 18 
19   } 

  所謂惰性載入就是在第一次執行代碼後,用函數代碼內部的方法覆蓋原有代碼,即:

 1 var addEvents = (function () {  2     if(document.addEventListener) {  3         return    function (type, element, fun) {  4             element.addEventListener(type, fun, false);  5  }  6  }  7     else if(document.attachEvent) {  8         return function (type, element, fun) {  9             element.attachEvent('on' + type, fun); 10  } 11  } 12     else { 13         return function (type, element, fun) { 14             element['on' + type] = fun; 15  } 16  } 17 })();

  27.捕捉 Ctrl+Enter 按鍵:

  if(event.ctrlKey && event.keyCode == 13)

  {

    console.log("You pressed the Ctrl + Enter");

  }

  28.獲取瀏覽器的插件數目:

  navigator.plugins.length;

  29.實現對 Windows、Mac、Linux、UNIX 操做系統的判斷:

 1 var osType = "",  2     windows = (navigator.userAgent.indexOf("Windows",0) != -1)?1:0;  3     mac = (navigator.userAgent.toLowerCase().indexOf("mac",0) != -1)?1:0;  4     linux = (navigator.userAgent.indexOf(」Linux",0) != -1)?1:0;  5     unix = (navigator.userAgent.indexOf("X11",0) != -1)?1:0;  6 
 7     if(windows)     osType = "Windows";  8     else if(mac)    osType = "Mac";  9     else if(linux)  osType = "Linux"; 10     else if(unix)   osType = "Unix"; 11     console.log(osType);

  30.使用原生 JavaScript 判斷是不是移動設備瀏覽器:

 1 var mobileReg = /iphone | ipod | androdid.*mobile | windows.*phone | blackberry.*mobile/i;  2 
 3   if((mobileReg.test(window.navigator.userAgent.toLowerCase()))){  4 
 5     alert("移動設備! ");  6 
 7   }else{  8 
 9     alert("非移動設備! "); 10 
11   }

  至此,30段 JavaScript 代碼分享結束,本系列的下一篇將介紹一些學習 JavaScript 必須知道的事兒,敬請關注!

相關文章
相關標籤/搜索