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