一些老手都不一定知道的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 相关文章推荐
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
jQuery实用技巧必备(中)
Nov 03 Javascript
jQuery实现图片文字淡入淡出效果
Dec 21 Javascript
jQuery的ready方法实现原理分析
Oct 26 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
windows下vue-cli及webpack搭建安装环境
Apr 25 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
vue项目中使用ueditor的实例讲解
Mar 05 Javascript
vue实现在表格里,取每行的id的方法
Mar 09 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 缓存实现代码及详细注释
2010/05/16 PHP
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
JS获取地址栏参数的小例子
2013/08/23 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
javascript读写json示例
2014/04/11 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
Python处理文本文件中控制字符的方法
2017/02/07 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
实习护士自我鉴定
2013/10/13 职场文书
大学本科毕业生的自我鉴定
2013/11/26 职场文书
初三政治教学反思
2014/01/30 职场文书
销售经理工作检讨书
2015/02/19 职场文书
实习单位意见
2015/06/04 职场文书
网吧温馨提示
2015/07/17 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
MySQL 数据表操作
2022/05/04 MySQL