一些老手都不一定知道的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 函数速查表
Feb 07 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
May 12 Javascript
jquery获取子节点和父节点的示例代码
Sep 10 Javascript
javascript数组克隆简单实现方法
Dec 16 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
Feb 21 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
vue项目中使用Svg的方法
Oct 24 Javascript
vue数据初始化initState的实例详解
Apr 11 Javascript
Vue 幸运大转盘实现思路详解
May 06 Javascript
javascript实现留言板功能
Feb 08 Javascript
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
帮你提高开发效率的JavaScript20个技巧
Jun 18 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
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
使用js实现雪花飘落效果
2013/08/26 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
vue二级路由设置方法
2018/02/09 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
Python中序列的修改、散列与切片详解
2017/08/27 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
中软国际Java程序员机试题
2012/08/19 面试题
简历自荐信
2013/12/02 职场文书
如何客观的进行自我评价
2013/12/17 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
倡议书范文
2014/04/16 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
三人合伙协议书范本
2014/10/29 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
大学同学聚会感言
2015/07/30 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
Golang gRPC HTTP协议转换示例
2022/06/16 Golang