一些老手都不一定知道的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 节点遍历函数
Mar 28 Javascript
javascript 二分法(数组array)
Apr 24 Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
Oct 10 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
Mar 13 Javascript
javascript创建动态表单的方法
Jul 25 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 Javascript
vue 中directive功能的简单实现
Jan 05 Javascript
js操作二进制数据方法
Mar 03 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 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
zend framework文件上传功能实例代码
2013/12/25 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
javascript 二维数组的实现与应用
2010/03/16 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
浅谈javascript如何获取文件后缀名
2020/08/07 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
python openCV自制绘画板
2020/10/27 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
三维科技面试题
2013/07/27 面试题
车间统计员岗位职责
2014/01/05 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
校友回访母校寄语
2015/02/26 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python