30段JavaScript代码——上篇


  1.如何区分IE及非IE浏览器:

 if(!+[1,]){                //IE 11 不支持
alert("这是 IE 浏览器");
}else{
alert("这不是 IE 浏览器");

  2.将日期直接转换为数值:

   +new Date();

  3.非IE浏览器下将类数组对象 “arguments”转为数组:

  Array.prototype.slice.call(arguments);

  4.最简单的选择运算符||:

var a = 0 || 3;
console.log(a); //结果3

   如果=后面的第一个值计算结果为布尔值“真”,则 a 的值取第 1 个,否则取第 2 个。

  5.单链式运算(如 a++ -1):

var a=10;
console.log(a++ -1);

  先执行“a-1”,再执行“a=a+1”。

  6.有趣的void操作符:

   <a href="javascript:void(0)">我是一个死链接</a>

  void是一种操作符,用来计算一个表达式但不返回值。

  7.跳转至新页面,并且保证浏览器不会再回退:

   location.replace("http://www.baidu.com");

  location 的 replace() 方法可以用一个新的文档替换当前文档,并且该方法还会覆盖 History 对象中的记录。

  8.几秒钟之后返回上一页:

   <meta http-equiv="refresh" content="3;url=javascript:window.history.go(-1);">

  9.在打开的子窗口中刷新父窗口:

   window.opener.location.reload();

  10.验证是否为负数的正则表达式:

  /^-\d+$/.test(str);

  11.用JavaScript打印页面:

   window.print()

  12.显示/隐藏一个DOM元素:

el.style.display = "";
el.style.display = "none"; //el是待操作的DOM元素

  DOM元素的显示/隐藏主要是通过设置元素的样式display属性来实现。

  13.实现alert()中的文本换行:

   alert("p\np")

  "\n"代表换行符。

  14.实现ECMAScript5中的Object.create()函数: 

 function clone(proto){
function _clone(){}
_clone.prototype = proto;
_clone.prototype.constructor = _clone;
return new_clone(); //等价于 Object.create(Person);
var me = clone(Person);

  用原型链形式继承,构造函数重新指向新创建的对象。

  15.理解JavaScript中的闭包:

  例如,以下代码会输出5次,结果都是5,那么如何输出0、1、2、3、4?

 for(var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i);
}, 1000);
}

  利用闭包的原理实现,代码如下:

 for(var i = 0; i < 5; i++) {
(function(e) {
setTimeout(function() {
console.log(e);
}, 1000);
})(i);
}

  敬请关注下篇~

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

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

    上篇介绍了15个常用代码段,本篇将把剩余的15个补齐,希望对大家有所帮助!!! 16.检测Shift.Alt.Ctrl键: event.shiftKey; //检测Shift event.altKey ...

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

    JavaScript正变得越来越流行,它已经成为前端开发的第一选择,并且利用基于JavaScript语言的NodeJS,我们也可以开发出高 性能的后端服务,甚至我还看到在硬件编程领域也出现了JavaS ...

  3. C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)

    一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整. 配置参数,可以放在配置文件中.环境变量中.或数据库表中(如果使用了数据库的话).通常,配置数据,以 k ...

  4. 推荐10 个短小却超实用的 JavaScript 代码段

    1. 判断日期是否有效 JavaScript中自带的日期函数还是太过简单,很难满足真实项目中对不同日期格式进行解析和判断的需要.jQuery也有一些第三方库来使日期相关的处理变得简单,但有时你可能只需 ...

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

    这本书全是代码,从头到尾跟着坐下来确实收获很多.比那些古板的教科书式的理解更多,不过书中并不是每个例子都做了,有的作者封装的太多,觉得看了收获不多,就没细看——比如模块渐变.有空好好学学这段的代码. ...

  6. chrome小书签-实用的小功能-javascript代码段

    1.打印页面的所有脚本引用文件及代码段: javascript:var scriptarray=document.getElementsByTagName("script");fo ...

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

    整理一些使用的JavaScript效果,在Web开发中遇到的比较好的动态效果,都收藏在这里,对以后的网站开发增加不少的色彩 <JavaScript实用效果整理>已整理成PDF文档,点击可直 ...

  8. PyCharm创建自定义代码段(JetBrains系列通用)

    创建自定义代码段或者修改代码段:(用习惯了VSCode的main格式,固而改下)

  9. [总结]web前端常用JavaScript代码段及知识点集锦

    DOM相关 判断浏览器是否支持placeholder属性 function placeholderSupport() { return 'placeholder' in document.create ...

随机推荐

  1. Android线程管理之ExecutorService线程池

    前言: 上篇学习了线程Thread的使用,今天来学习一下线程池ExecutorService. 线程管理相关文章地址: Android线程管理之Thread使用总结 Android线程管理之Execu ...

  2. Android总结之Gzip/Zip压缩

    前言: 做过Android网络开发的都知道,在网络传输中我们一般都会开启GZIP压缩,但是出于刨根问底的天性仅仅知道如何开启就不能满足俺的好奇心的,所以想着写个demo测试一下比较常用的两个数据压缩方 ...

  3. 你可能不知道的陷阱, IEnumerable接口

    1.  IEnumerable 与  IEnumerator IEnumerable枚举器接口的重要性,说一万句话都不过分.几乎所有集合都实现了这个接口,Linq的核心也依赖于这个万能的接口.C语言的 ...

  4. TortoiseGit:记住用户名和密码

    1.背景: 我们在使用 tortoisegit 工具时会无可避免的经常性 pull 和 push,这时通常要输入用户名和密码,由于麻烦,就有人提出了记住用户名和密码的需求... ... 2.设置: [ ...

  5. c 算牌器代码

    int main() { // 算牌器 ]; ; do { printf("请输入牌名: \n"); scanf("%2s",char_name); ; ]) ...

  6. Oracle基础维护02-表、主键、索引、表结构维护手册

    目录 一.项目新建表.主键.索引注意事项 二.举例说明建表.主建.索引的操作方法 2.1 设定需求如下 2.1.1 查询数据库有哪些表空间 2.1.2 本文档假设数据库有这两个业务用户的表空间 2.2 ...

  7. Java豆瓣电影爬虫——抓取电影详情和电影短评数据

    一直想做个这样的爬虫:定制自己的种子,爬取想要的数据,做点力所能及的小分析.正好,这段时间宝宝出生,一边陪宝宝和宝妈,一边把自己做的这个豆瓣电影爬虫的数据采集部分跑起来.现在做一个概要的介绍和演示. ...

  8. JSP实现word文档的上传,在线预览,下载

    前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...

  9. nginx 基础

    同步和阻塞,异步和非阻塞 http://yaocoder.blog.51cto.com/2668309/1308899  (51CTO) https://segmentfault.com/a/1190 ...

  10. SpringBoot中yaml配置对象

    转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...