一些老手都不一定知道的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 相关文章推荐
跨浏览器的设置innerHTML方法
Sep 18 Javascript
一个JS翻页效果
Jul 23 Javascript
JavaScript中的prototype使用说明
Apr 13 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
Mar 18 Javascript
jQuery中die()方法用法实例
Jan 19 Javascript
基于JavaScript怎么实现让歌词滚动播放
Nov 03 Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 Javascript
JavaScript下拉菜单功能实例代码
Mar 01 Javascript
js简单实现网页换肤功能
Apr 07 Javascript
微信小程序实现简单评论功能
Nov 28 Javascript
JS实现json数组排序操作实例分析
Oct 28 Javascript
Vue使用Ref跨层级获取组件的步骤
Jan 25 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
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
JavaScript 继承详解 第一篇
2009/08/30 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
jquery each()源代码
2011/02/14 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
Python输入二维数组方法
2018/04/13 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
美国翻新电子产品商店:The Store
2019/10/08 全球购物
公司行政助理岗位职责
2015/04/11 职场文书
关于开学的感想
2015/08/10 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers