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 相关文章推荐
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
实现51Map地图接口(示例代码)
Nov 22 Javascript
javascript的创建多行字符串的7种方法
Apr 29 Javascript
extjs 分页使用jsp传递数据示例
Jul 29 Javascript
被遗忘的javascript的slice() 方法
Apr 20 Javascript
原生JS实现图片左右轮播
Dec 30 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
微信小程序实现添加手机联系人功能示例
Nov 30 Javascript
OpenLayers3实现测量功能
Sep 25 Javascript
vue项目配置同一局域网可使用ip访问的操作
Oct 23 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
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
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
php批量修改表结构实例
2017/05/24 PHP
载入进度条 效果
2006/07/08 Javascript
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
js中的闭包学习心得
2018/02/06 Javascript
python简单读取大文件的方法
2016/07/01 Python
python对excel文档去重及求和的实例
2018/04/18 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
送给程序员的20个Java集合面试问题
2014/08/06 面试题
医药工作者的求职信范文
2013/09/21 职场文书
初中班主任评语
2014/04/24 职场文书
保护环境倡议书范文
2014/05/13 职场文书
演讲稿的写法
2014/05/19 职场文书
电子专业求职信
2014/06/19 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
租车协议书范本2014
2014/11/17 职场文书
社区活动总结
2015/02/04 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
保护环境建议书作文300字
2015/09/14 职场文书