您的位置:首页 > 职场人生

前端面试:精选经典面试题(二十六)

2016-01-06 00:00 555 查看

需求

写一个创建命名空间的函数namespace,参数str是一个以.为分隔的字符串,函数定义后可以以如下的方式使用:
namespace("com.so.image");
结果--> com.so.image.Slider={};

答案:

<script>
//思路,我想到的是用eval,oh,万恶的eval
function namespace(str){
var tempArr = str.split(".");
var tempExpression = "";
var tempStr = "";
for(var i=0;i<tempArr.length;i++){
tempStr += tempArr[i] + ".";
tempExpression += tempArr[i]+"={};"+tempStr;
}

//去尾
var reg = /(.*;).*/g;
tempExpression = tempExpression.replace(reg,"$1");
eval(tempExpression);
}
namespace("a.b.c.ddd");
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: