首页 > 网站 > WEB开发 > 正文

JavaScript代码段整理笔记系列(二)

2024-04-27 14:10:15
字体:
来源:转载
供稿:网友

javaScript代码段整理笔记系列(二)

上篇介绍了15个常用代码段,本篇将把剩余的15个补齐,希望对大家有所帮助!!!


  16.检测Shift、Alt、Ctrl键:

  event.shiftKey;  //检测Shift

  event.altKey;   //检测Alt

  event.ctrlKey;  //检测Ctrl

  17.获取屏幕分辨率的宽、高:

  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 必须知道的事儿,敬请关注!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表