function buildUrl() {
var qs = "?debug=true";
with(location){
var url = href + qs;
}
return url;
}
buildUrl(); // it will work. WHY?
我正在通过N. Zakas的“专业JavaScript for Web Developers”,并且我遇到了这个片段。从我的理解with
是一个声明,通过推动,在这种情况下,location
对象的前面扩大范围链。里面绑定了哪些变量对象语句?
看来url
局部变量被分配给一个函数激活对象。为什么它没有被分配到location
?
什么是“功能激活对象”? “将语句绑定到变量”意味着什么?无论如何,'url'是一个声明为变量的变量,永远不会被解释为'location'的属性。 – 2016-11-21 11:08:30
@torazaburo http://softwareengineering.stackexchange。 com/a/189973 –