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打开图片另存为对话框实现代码
Dec 26 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
Mar 26 Javascript
浅析JavaScript中的CSS属性及命名规范
Nov 28 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
May 05 Javascript
angularjs中的单元测试实例
Dec 06 Javascript
jQuery基础知识小结
Dec 22 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
May 26 Javascript
canvas实现图像放大镜
Feb 06 Javascript
vue.js评论发布信息可插入QQ表情功能
Aug 08 Javascript
JS图片懒加载的优点及实现原理
Jan 10 Javascript
JavaScript Tab菜单实现过程解析
May 13 Javascript
微信小程序实现锚点跳转
Nov 23 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
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
xmlHTTP实例
2006/10/24 Javascript
新浪的图片新闻效果
2007/01/13 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
常见的python正则用法实例讲解
2016/06/21 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
大学校务公开实施方案
2014/03/31 职场文书
大学生毕业个人总结
2015/02/15 职场文书
白银帝国观后感
2015/06/17 职场文书
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
分析设计模式之模板方法Java实现
2021/06/23 Java/Android