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代码
Mar 06 Javascript
jQuery 数据缓存模块进化史详细介绍
Nov 19 Javascript
javascript跨域的4种方法和原理详解
Apr 08 Javascript
js如何实现点击标签文字,文字在文本框出现
Aug 05 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
Mar 05 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
JS实现多张图片预览同步上传功能
Jun 23 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
select获取下拉框的值 下拉框默认选中方法
Feb 28 Javascript
vue使用自定义指令实现拖拽
Jan 29 Javascript
layui type2 通过url给iframe子页面传值的例子
Sep 06 Javascript
vue自定义指令和动态路由实现权限控制
Aug 28 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
PHP代码优化技巧小结
2015/09/29 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
HTML颜色选择器实现代码
2010/11/23 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python Django 创建应用过程图示详解
2019/07/29 Python
Python中Unittest框架的具体使用
2019/08/27 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
python反扒机制的5种解决方法
2021/02/06 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
小学教师管理制度
2014/01/18 职场文书
自我检讨报告
2015/01/28 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL