一些老手都不一定知道的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 相关文章推荐
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
jquery实现显示已选用户
Jul 21 Javascript
JavaScript控制网页层收起和展开效果的方法
Apr 15 Javascript
AngularJS向后端ASP.NET API控制器上传文件
Feb 03 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
Jun 01 Javascript
AngularJS实现根据变量改变动态加载模板的方法
Nov 04 Javascript
通过npm引用的vue组件使用详解
Mar 02 Javascript
mpvue构建小程序的方法(步骤+地址)
May 22 Javascript
vue 组件简介
Jul 31 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
Oct 31 Javascript
node.js如何自定义实现一个EventEmitter
Jul 16 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的变量类型和作用域详解
2014/03/12 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
javascript concat数组累加 示例
2009/09/03 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
Python中一行和多行import模块问题
2018/04/01 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
python 实现生成均匀分布的点
2019/12/05 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python中JWT用户认证的实现
2020/05/18 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
环保志愿者活动总结
2014/06/27 职场文书
个人工作表现评价材料
2014/09/21 职场文书
大学生个人总结范文
2015/02/15 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL