一些老手都不一定知道的JavaScript技巧


Posted in Javascript onMay 06, 2014

一些不太常用但强大的JavaScript小技巧,新手和老手js开发人员都不一定知道。

1、截断数组与数组长度

var arr1 = arr2 = [1, 2, 3];//改变 arr1
arr1 = []; // arr2则任然是 [1,2,3]

你会发现arr1用[]方法来清空不会影响arr2的值,假如要想让arr1改变后arr2跟着一起改变 ,则可以这样
 var arr1 = arr2 = [1, 2, 3];
arr1.length=0; //注意这一步 而不是 arr1=[]
alert(arr2)

这时 arr2也被清空了

2、数组合并

var  arr1 = [1,2,3];
var  arr2 = [4,5,6];
var arr3=arr1.concat(arr2);
alert(arr3)

arr3则变为
[1,2,3,4,5,6]

其实还可以用一种简单的办法,譬如使用
var  arr1 = [1,2,3];
var  arr2 = [4,5,6];
Array.prototype.push.apply(arr1,arr2);
alert(arr1)

这时arr1就变成了 1,2,3,4,5,6

3、浏览器特征检测

看一下代码,可以判定你的浏览器是否opera

if(window.opera){
    alert("是opera")
}else{
      alert("不是opera")
}

同样的你还可以这样
if("opera" in window){
     alert("是opera")
}else{
   alert("不是opera")
}

4、检查的对象是一个数组

var obj=[];
 if(Object.prototype.toString.call(obj)=="[object Array]")
   alert("是数组");
   else
    alert("不是数组");

同样的,你还可以判断该对象是否是字符串
var obj="fwe";
 if(Object.prototype.toString.call(obj)=="[object String]")
   alert("是字符串");
   else
    alert("不是字符串");
 
Javascript 相关文章推荐
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
自己整理的一个javascript日期处理函数
Oct 16 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
Oct 01 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
Egret引擎开发指南之视觉编程
Sep 03 Javascript
js常用系统函数用法实例分析
Jan 12 Javascript
moment.js轻松实现获取当前日期是当年的第几周
Feb 05 Javascript
JavaScript匿名函数之模仿块级作用域
Dec 12 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
Nov 15 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
Nov 26 Javascript
jQuery中的$.ajax()方法应用
May 06 #Javascript
jquery判断元素是否隐藏的多种方法
May 06 #Javascript
JQuery调用WebServices的方法和4个实例
May 06 #Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
May 05 #Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 #Javascript
使用jQuery重置(reset)表单的方法
May 05 #Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
May 05 #Javascript
You might like
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
php模拟post提交数据的方法
2015/02/12 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
部署Python的框架下的web app的详细教程
2015/04/30 Python
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
Python3数字求和的实例
2019/02/19 Python
python基于SMTP协议发送邮件
2019/05/31 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
会计电算化毕业生自荐信
2014/03/03 职场文书
行政人事岗位职责
2014/03/17 职场文书
师德师风演讲稿
2014/05/05 职场文书
小学生校园广播稿
2014/09/28 职场文书
2014年评职称工作总结
2014/11/20 职场文书
党员年度个人总结
2015/02/14 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS