一些老手都不一定知道的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 最简单易用的表单验证插件
Feb 27 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
Apr 05 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
vue-router路由参数刷新消失的问题解决方法
Jun 17 Javascript
深入浅析Node.js单线程模型
Jul 10 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
Nov 10 Javascript
vue中多路由表头吸顶实现的几种布局方式
Apr 12 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
js实现上下左右键盘控制div移动
Jan 16 Javascript
在Webpack中用url-loader处理图片和字体的问题
Apr 28 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实现 上一篇、下一篇的代码
2012/09/29 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
python实现的一个p2p文件传输实例
2014/06/04 Python
python实现类的静态变量用法实例
2015/05/08 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
使用python为mysql实现restful接口
2018/01/05 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
销售类个人求职信范文
2013/09/25 职场文书
高级护理实习生自荐信
2013/09/28 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
服务行业标语口号
2015/12/26 职场文书
Django显示可视化图表的实践
2021/05/10 Python
详解python字符串驻留技术
2021/05/21 Python
Python实现制作销售数据可视化看板详解
2021/11/27 Python