一些老手都不一定知道的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 相关文章推荐
IE6与IE7中,innerHTML获取param的区别
Mar 15 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
Mar 08 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
easyUI下拉列表点击事件使用方法
May 18 Javascript
Vue.js中的图片引用路径的方式
Jul 28 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
JS实现带动画的回到顶部效果
Dec 28 Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 Javascript
微信小程序 确认框的实现(附代码)
Jul 23 Javascript
微信小程序实现写入读取缓存详解
Aug 30 Javascript
JavaScript实现缓动动画
Nov 25 Javascript
vue组件vue-esign实现电子签名
Apr 21 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
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
python3爬取淘宝信息代码分析
2018/02/10 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
python实现批量修改文件名
2020/03/23 Python
UNIX特点都有哪些
2016/04/05 面试题
服务员岗位职责
2014/01/29 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
医师定期考核实施方案
2014/05/07 职场文书
安全横幅标语
2014/06/09 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
git中cherry-pick命令的使用教程
2022/06/25 Servers