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 24 Javascript
JS面向对象、prototype、call()、apply()
May 14 Javascript
Javascript Object.extend
May 18 Javascript
Javascript无阻塞加载具体方式
Jun 28 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
Aug 23 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
Nov 01 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
JavaScript注册时密码强度校验代码
Jun 30 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
微信小程序实现自定义底部导航
Nov 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
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
PHP经典面试题集锦
2015/03/19 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python select.select模块通信全过程解析
2017/09/20 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
Python模块future用法原理详解
2020/01/20 Python
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
财务科科长岗位职责
2014/03/10 职场文书
停电通知范文
2015/04/16 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL