一些老手都不一定知道的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 相关文章推荐
判断用户的在线状态 onbeforeunload事件
Mar 05 Javascript
js实现双向链表互联网机顶盒实战应用实现
Oct 28 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
基于javascript实现图片懒加载
Jan 05 Javascript
详解Vue生命周期的示例
Mar 10 Javascript
Bootstrap DateTime Picker日历控件简单应用
Mar 25 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
JS实现深度优先搜索求解两点间最短路径
Jan 17 Javascript
Angular value与ngValue区别详解
Nov 27 Javascript
关于JavaScript数组去重的一些理解汇总
Sep 10 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
使用js Math.random()函数生成n到m间的随机数字
2014/10/09 Javascript
JQuery基础语法小结
2015/02/27 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
python判断字符串是否包含子字符串的方法
2015/03/24 Python
有趣的python小程序分享
2017/12/05 Python
python正则中最短匹配实现代码
2018/01/16 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
序列化Python对象的方法
2020/08/01 Python
深入分析python 排序
2020/08/24 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
廉洁自律承诺书
2014/03/27 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
团组织推优材料
2014/12/29 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js