一些老手都不一定知道的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 相关文章推荐
分享别人写的一个小型js框架
Aug 13 Javascript
修改好的jquery滚动字幕效果实现代码
Jun 22 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
Nov 08 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
AngularJS中使用HTML5手机摄像头拍照
Feb 22 Javascript
Html5+jQuery+CSS制作相册小记录
Dec 30 Javascript
js实现漫天星星效果
Jan 19 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
360doc网站不登录就无法复制内容的解决方法
Jan 27 Javascript
Js面试算法详解
Apr 08 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
JS查看对象功能代码
2008/04/25 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
海南地接欢迎词
2014/01/14 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
社区党务工作总结2015
2015/05/19 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
MySQL 5.7常见数据类型
2021/07/15 MySQL