JS基础回顾,小练习(判断数组,以及函数)
追梦子博客版权所有。
// 判断arr是否为一个数组,返回一个bool值
方法1:
function isArray(arr) {
var str = arr.__proto__.constructor;
var reg = /function ([\w]+)\(/;
return reg.exec(str)[1]==="Array";
}
console.log(isArray([]))
方法2:
function isArray(arr) {
var str = {}.toString.call(arr);
var reg = /\[object (\w+)\]/;
return reg.exec(str)[1]==="Array";
}
console.log(isArray([]));
方法3:
function isArray(arr) {
return arr instanceof Array;
}
console.log(isArray([]));
// 此方法不建议使用,因为判断Object也返回true
方法4:
function isArray(arr) {
return Array.prototype.isPrototypeOf(arr);
}
console.log(isArray([]));
// 不建议使用,因为只要是有继承,都会返回true
// 判断fn是否为一个函数,返回一个bool值
方法1:
function isFunction(fn) {
return (typeof fn)==="function";
}
console.log(isFunction(function(){}))
其他方法和判断数组一样。
JS基础回顾,小练习(判断数组,以及函数)的更多相关文章
- Js中常用的字符串,数组,函数扩展
由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...
- JS分割字符串并放入数组的函数
JS分割字符串并放入数组的函数: var InterestKeywordListString = $("#userInterestKeywordLabel").html(); v ...
- JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)
①文本对象document: 例如:document.getElementById() 只获取一个对象 document.getElementsByTagName() 获取 ...
- js基础回顾----原型链和原型
所有的对象都可以自由扩展属性 (null 除外) 所有的引用类型(对象,数组,函数)都有一个_proto_属性 所有的函数都有一个prototype属性 所有引用类型对象的_proto_属性指向它的的 ...
- JS基础回顾,小练习(克隆对象,数组)
对象的克隆: var srcObj = { a: 1, b: { b1: ["hello", "hi"], b2: "JavaScript" ...
- JS基础回顾,小练习(实现each方法)
function each(arr, fn) { for(var i=0;i<arr.length;i++){ fn(arr[i],i); } } var arr = ['java', 'c', ...
- JS基础回顾,小练习(去除字符串空格)
方法1: var str = ' h t m l 5 '; function trim(str) { var reg = /(\s+)/g; var m,s = str; while(m = reg. ...
- js基础回顾-数据类型和typeof怎么用
js的基本数据类型有六种,undefined.null.number.string.boolean.object. 未定义 空 数字 字符串 布尔 ...
- js基础回顾
值类型:值的拷贝. 引用类型:一般指对象,地址的指针引用 typeof有几种类型:6种 变量和布尔值之间的转换 js中内置的函数
随机推荐
- bzoj 1858: [Scoi2010]序列操作
1858: [Scoi2010]序列操作 Time Limit: 10 Sec Memory Limit: 64 MB 线段树,对于每个区间需要分别维护左右和中间的1和0连续个数,并在op=4时特殊 ...
- 【地图API】地址录入时如何获得准确的经纬度?淘宝收货地址详解
用户需求:管理者需要录入一批商户,并在地图上把商户展示出来.但发现一些商户的地址描述并不清楚,导致商户位置出错.如何获得更加准确的商户位置呢? 分析:假设地址准确的,可以通过地址解析,得到准确的经纬度 ...
- 使用Dezender对zend加密后的php文件进行解密
在开发中需要修改一些php文件,部分是通过zend加密的,记事本打开之后是这样的: 此时需要使用Dezender进行解密,下载链接如下: Dezender.7z 下载后解压到C盘(路径不要带有中文), ...
- 联通宽带家庭网关HG110-B破解步骤
先说说破解的意义,联通赠送的这个无线猫本身是带路由功能的,只是联通为了限制用户分享宽带,把拨号功能给禁用了,于是WIFI虽然能连上,但是不能用.我破解的目的就是达到让此路由既能有猫的拨号功能又能有路由 ...
- jsp中表格,表格中的文字根据表格的大小自动换行
style="table-layout: fixed;WORD-BREAK: break-all; WORD-WRAP: break-word" 语法: word-break : ...
- error while loading shared libraries: /usr/lib64/libc.so.6: invalid ELF header
在安装一个程序的时候提示libc.so.6过旧,但是查看libc.so的版本是最新的,于是尝试使用尝试软链接 ln -s /usr/lib64/libc.so /usr/lib64/libc.so. ...
- Windows技巧 - 右键菜单【在此处打开bash】
实现效果如下图: 步骤如下:按住shift,在文件夹空白处(桌面也可以)鼠标右键,即可看到 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROO ...
- SQL 游标使用实例
IF EXISTS(SELECT *FROM sysobjects WHERE name='sp_ContestSubmit') DROP PROC sp_ContestSubmit GO -- == ...
- QQ互联开发-01-开发者注册和网站应用申请
首先需要申请网站应用 要想使用QQ互联,首先需要先注册一个开发者账号,使用QQ号码可以注册,注册后,就可以创建网站应用了: 通过下面地址:https://connect.qq.com/,我们去登录QQ ...
- C# 模拟鼠标(mouse_event)
想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在 百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event 函数怎么去使用,因为那没有多大意义 ...