15个非常实用的JavaScript代码片段


Posted in Javascript onDecember 18, 2016

本文实例为大家分享了非常实用的js片段,供大家参考,具体内容如下

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("https://3water.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 相关文章推荐
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
在JavaScript中构建ArrayList示例代码
Sep 17 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
BootStrap 导航条实例代码
May 18 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
Jul 21 Javascript
Seajs源码详解分析
Apr 02 Javascript
vue单页面在微信下只能分享落地页的解决方案
Apr 15 Javascript
vue+element-ui+axios实现图片上传
Aug 20 Javascript
浅谈layui里的上传控件问题
Sep 26 Javascript
Vue组件间数据传递的方式(3种)
Jul 13 Javascript
JavaScript实现无限轮播效果
Nov 19 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
Dec 18 #Javascript
简单实现node.js图片上传
Dec 18 #Javascript
Javascript计算二维数组重复值示例代码
Dec 18 #Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
Dec 18 #Javascript
Jquery Easyui菜单组件Menu使用详解(15)
Dec 18 #Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 #Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 #Javascript
You might like
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
php类的定义与继承用法实例
2015/07/07 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
javascript常见用法总结
2014/05/22 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
python中list常用操作实例详解
2015/06/03 Python
python自动zip压缩目录的方法
2015/06/28 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
django和flask哪个值得研究学习
2020/07/31 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
英国假发网站:Hothair
2018/02/23 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
教育科学研究生自荐信
2013/10/09 职场文书
早餐连锁店计划书
2014/01/08 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
代办委托书怎样写
2014/04/08 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
学生会辞职信
2015/03/02 职场文书
2016年学校招生广告语
2016/01/28 职场文书