这是 一道javascript 题目, 答案应该是一个url, 该如何解?
请大家帮忙, 贴答案的时候也顺便解释下原理呗:
a="hostname,test,value,input,getElementsByTagName,nextQuiz,23805,http,protocol,location,reverse,join,split,w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth,GET,...".split(",");this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");
0;
淘宝的UED题目:
a="hostname,test,value,input,getElementsByTagName,nextQuiz,23805,http,protocol,location,reverse,join,split,w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth,GET,...".split(",");
this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");
0;
console.log(this[a[5]]);
把a用”,”分隔成数组,将其中的 w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth
倒序输出
运行一遍输出的结果是:
http://ued.taobao.com/quiz/?OTWLxGXF7DZlfOC4z6vTQbUHY2w
this[a[5]]=a[13][a[12]]("")[a[10]]()[a[11]]("");
相当于:
this['nextQuiz'] = "w2YHUbQTv6z4COflZD7FXGxLWTO?/ziuq/moc.oaboat.deu//:ptth".split("").reverse().join("");
所以结果是
location.href = nextQuiz;
个人认为原理就是作为 Javascript 对象的方法调用,下面两种形式是等价的:
obj.method();
等价于
obj['method']();
恭喜您,全部答对了!
本次活动已结束,《Javascript语言精粹-修订版》已经送完了^_^!
欢迎参下一次活动。
坑爹啊
正文完