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 倒计时源代码.(时.分.秒) 详细注释版
May 09 Javascript
javascript简单性能问题及学习笔记
Feb 04 Javascript
JavaScript实现存储HTML字符串示例
Apr 21 Javascript
推荐一个自己用的封装好的javascript插件
Jan 29 Javascript
jQuery插件实现大图全屏图片相册
Mar 14 Javascript
学习JavaScript编程语言的8张思维导图分享
Mar 27 Javascript
JS中call/apply、arguments、undefined/null方法详解
Feb 15 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
Nov 29 Javascript
原生js实现弹出层效果
Jan 20 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
Jul 18 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
Jul 22 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 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知识收集
2012/08/20 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
自己开发Dojo的建议框架
2008/09/24 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
Python try except else使用详解
2021/01/12 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
毕业寄语大全
2014/04/09 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL