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 相关文章推荐
JavaScript 拖拉缩放效果
Dec 10 Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
Jquery给基本控件的取值、赋值示例
May 23 Javascript
jQuery实现倒计时按钮功能代码分享
Sep 03 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
Jan 09 Javascript
script标签属性用type还是language
Jan 21 Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 Javascript
javascript 网页进度条简单实例
Feb 22 Javascript
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
angularjs通过过滤器返回超链接的方法
Oct 26 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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
js停止输出代码
2008/07/20 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
面试必备的求职信
2014/05/25 职场文书
廉政教育的心得体会
2014/09/01 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL