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 刷新框架页的代码
Apr 13 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
Sep 26 Javascript
js实现全屏漂浮广告移入光标停止移动
Dec 02 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
Dec 15 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
深入理解react-router@4.0 使用和源码解析
May 23 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
Feb 08 Javascript
微信小程序实现简单表格
Feb 14 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
JS document对象简单用法完整示例
Jan 14 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
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php提高网站效率的技巧
2015/09/29 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
PHP目录操作实例总结
2016/09/27 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
js模拟微博发布消息
2017/02/23 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
python正则分组的应用
2013/11/10 Python
Python中的变量和作用域详解
2016/07/13 Python
python fabric实现远程部署
2017/01/05 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
工商管理系学生的自我评价分享
2013/11/29 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书