一些老手都不一定知道的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 相关文章推荐
javaScript 数值型和字符串型之间的转换
Jul 25 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 Javascript
jquery阻止后续事件只执行第一个事件
Jul 24 Javascript
7个有用的jQuery代码片段分享
May 19 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
javascript的理解及经典案例分析
May 20 Javascript
基于JavaScript实现前端文件的断点续传
Oct 17 Javascript
基于node.js之调试器详解
Aug 22 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
Nov 12 Javascript
vue基于Teleport实现Modal组件
May 31 Vue.js
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
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
基于jQuery实现一个marquee无缝滚动的插件
2017/03/09 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
python黑魔法之编码转换
2016/01/25 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
python多进程间通信代码实例
2019/09/30 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
物理力学求职信
2014/02/18 职场文书
新春寄语大全
2014/04/09 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
企业职业病防治方案
2014/05/29 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
妇产科护理心得体会
2016/01/22 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android