阿里笔试题

1、//请补全下面的函数,仅当p为数组时返回true.
//可给出多种实现方式,每种实现方式不一定完美,如果不完美,需要说明每种实现的限制
function isArray(p) {
//你的代码在这里
}

这个题有人可能用instanceof,但是会有不兼容,在多个frame中。其实很简单:

function isArray(p){
			return(Object.prototype.toString.call(p).slice(8,-1)==="Array");
		}

 2、data-’属性的作用是什么?

data-为前端开发者提供自定义的属性,这些属性集可以通过对象的dataset属性获取,不支持该属性的浏览器可以通过getAttribute方法获取。ppk提到过使用rel属性,lightbox库推广了rel属性,HTML5提供了data-做替代,这样可以更好地使用自定义的属性。

请编写一段程序,将一个对象和它直接、间接引用的所有对象的属性字符串放入一个数组。


var o = {a:1,{b:2,c:{d:1}}}

这里o经过处理后,应该得到
["a","b","c","d"]

我的代码:

function findkey(obj,a){
			for(key in obj){
				a.push(key);
				findkey(obj[key],a);
			}
		}
		var o={a:1,b:{c:2,d:{e:5}}};
		var arry=[];
		findkey(o,arry);
		alert(arry);

  

posted @ 2015-03-24 21:48  低调的大白兔  阅读(218)  评论(0编辑  收藏  举报