面试时候被人问如何检测一个未知变量是不是数组类型,丢脸啊,老祖宗的脸都丢没了,这都不会,回家啃书本去吧!!! var a = [];方法一:Array.isArray([]) //true typeof a 在这里是帮不上忙的呦,对于数组类型返回的是object,并且是对于除了函数以外的所有对象都是如此,心累吧,瞎忙活! 方法二:a instanceof Array //true但是不能视为一个可靠的数组检测方法.问题在于:web浏览器中有可能有多个窗口或者frame存在,每个窗口都有自己的
经常遇到一个问题,判断某个对象是否为数组类型,在Js中检测对象类型的常见方式有以下: typeof操作符 对于Function.String.Number.Undefined等几种类型的对象来说,几乎都能胜任,但是为Array时 var a = new Array(1,2,3,4) console.log(typeof(a)) //object var b= [1,2,3] console.log(typeof(b)) //object 注意: var s=new String("test&qu
今天遇到了一个问题,抽象出来的代码如下: var zoom=13; function setZoom(){ zoom=14; } function displayZoom(){ this.setZoom(); alert(zoom); var zoom=1500; this.changeZoom(); alert(zoom); } function changeZoom(){ this.zoom=++zoom; } 执行结果 ……………………………………………… ………………………… ……………
Array.prototype.indexOf = function (val) {//判断数组是否存在某个值,如果存在返回该值对应的索引,否则返回-1 for (var i = 0; i < this.length; i++) { if(typeof val === 'object' && typeof this[i]==='object'){ var str1 = JSON.stringify(val); var str2 = JSON.stringify(this[i]); i