一些老手都不一定知道的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 相关文章推荐
列表内容的选择
Jun 30 Javascript
Jquery实现三层遍历删除功能代码
Apr 23 Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
Feb 23 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
JS中多步骤多分步的StepJump组件实例详解
Apr 01 Javascript
AngularJS控制器详解及示例代码
Aug 16 Javascript
BootStrap整体框架之基础布局组件
Dec 15 Javascript
微信小程序 动态绑定事件并实现事件修改样式
Apr 13 Javascript
响应式框架Bootstrap栅格系统的实例
Dec 19 Javascript
js中的 || 与 && 运算符详解
May 24 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 20 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的Yii框架入门使用教程
2016/02/15 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
浅析从vue源码看观察者模式
2018/01/29 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python实现在字符串中查找子字符串的方法
2015/07/11 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
生产总经理岗位职责
2013/12/19 职场文书
医院实习接收函
2014/01/12 职场文书
党员创先争优活动总结
2014/05/04 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
优秀教师事迹材料
2014/12/15 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python