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 相关文章推荐
做网页的一些技巧(续)
Feb 01 Javascript
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
Dec 20 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
Jun 17 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
Sep 18 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
session 的生命周期是多长
2006/10/09 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
php遍历类中包含的所有元素的方法
2015/05/12 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
python numpy数组中的复制知识解析
2020/02/03 Python
pandas参数设置的实用小技巧
2020/08/23 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
财务会计专业毕业生自荐信
2013/10/02 职场文书
物流管理专业大学生自荐信
2013/10/04 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
采购部经理岗位职责
2014/02/10 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
青奥会口号
2014/06/12 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
倡议书作文
2015/01/19 职场文书
诚信教育主题班会
2015/08/13 职场文书
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android