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

时间: 2024-10-16 22:09:28

JavaScript代码段整理笔记系列(二)的相关文章

sk_buff整理笔记(二、操作函数)

承接上一篇:sk_buff整理笔记(一.数据结构)这一篇要讲的是内核为sk_buff结构提供的一些操作函数. 第一.首先要讲的是sk_buff中的四大指针: 四大指针分别是:head.data.tail.end:这四个指针都是指向了数据区的,数据区中存放的是协议头和数据.head和end指针是每个数据包一样的,也是有这两个指针来确定数据区的大小的.最开始的时候head.data.tail三个指针都是指向一起的,当有协议数据加进来时才更改. 再来说下包的形成,首先是应用层的数据,然后到四层加上四层

前端福利!10个短小却超实用的JavaScript 代码段

JavaScript正变得越来越流行,它已经成为前端开发的第一选择,并且利用基于JavaScript语言的NodeJS,我们也可以开发出高 性能的后端服务,甚至我还看到在硬件编程领域也出现了JavaScript的身影.JavaScript正在逐渐进化为一门全能的开发语言.下面是我收集 的10段实用JavaScript代码,基于它们你还可以创造出更强大的JS插件或功能函数. 但用好JavaScript并不容易,你除了需要掌握它的语法并知道如何写出高质量的代码之外,还需要了解如何解决那些几乎在每个项

《超实用的JavaScript代码段》可以参加京东买200-100的促销了

#京东满200-100单# 图书放血大卖了,<超实用的JavaScript代码段>http://item.jd.com/11535623.html 参加京东满200减100的大促,就在6.1这一天,仅此一天,错过再等一年!!!!! 仅此一天,赶紧下单! 作者在群里随时给大家解决问题!!!

不同JavaScript 代码段 变量作用域

<html><head></head><body><div><h id="h1">Hello World!</h></div><!-- <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> --> <script language="javascr

《超实用的JavaScript代码段》—— 读后总结

这本书全是代码,从头到尾跟着坐下来确实收获很多.比那些古板的教科书式的理解更多,不过书中并不是每个例子都做了,有的作者封装的太多,觉得看了收获不多,就没细看——比如模块渐变.有空好好学学这段的代码. 其他的代码都收录于github,参考:CodeJS/JS 书中内容 这本书讲述了很多工作中常用的代码段,有一些也是目前网站很流行的技术.比如图片放大镜,导航置顶,广告浮动等等. 也通过这些例子梳理了下javascript的相关内容,主要包括3个方面: 1 ECMAScript核心 2 DOM 3 B

《JavaScript实用效果整理》系列分享专栏

整理一些使用的JavaScript效果,在Web开发中遇到的比较好的动态效果,都收藏在这里,对以后的网站开发增加不少的色彩 <JavaScript实用效果整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201717.html 文章 国外30个使用很酷的JS滑动和滚动效果的网站 速度超快的菜单切换效果 使用Ctrl+Enter提交表单 jQuery Easing 动画效果扩展 超酷的固定菜单页面滚动效果 幸运大转盘-jQuery+PH

《javascript高级程序设计》笔记(二)

<script>元素 使用方法: 1.直接在页面嵌入 <script type="text/javascipt"> function(){ alert("Hi!"); } </script> 在解析器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示. 在代码中若出现</script>,需要在前面加上转义字符"\". 2.包含外部javascrip

JavaScript权威设计--JavaScript函数(简要学习笔记十二)

1.作为命名空间的函数 有时候我们需要声明很多变量.这样的变量会污染全局变量并且可能与别人声明的变量产生冲突. 这时.解决办法是将代码放入一个函数中,然后调用这个函数.这样全局变量就变成了 局部变量. 如: function my(){ } my(); //别忘记调用 这段代码定义了一个单独的全局变量:名叫"my"的函数. 我们还可以这么写,定义一个匿名函数: (function(){ //这里第一个左括号是必须的,如果不写,JavaScript解析器会将 //function解析成函

《javascript高级程序设计》笔记(二十四)

最佳实践 (一)可维护性 1.什么是可维护的代码 可理解性   直观性    可适应性    可调适性 2.代码约定 ①可读性 ?缩进 ?注释    每个函数和方法——都应该包含一个注释,描述其目的和用到的算法.陈述事先的假设如参数代表什么,函数是否有返回值. 大段代码——前面应该放一个描述任务的注释 复杂的算法——解析是如何做的 Hack ②变量和函数的命名 ?变量名应该为名词 ?函数名应该以动词开始,如getName(),返回布尔值的函数一般以is开头,如isEnable(). ?变量和函数