关于使用javascript的宿主对象window的不解

前段时间看了javascript dom的编程艺术,就想实现一下里面的例子,其中有讲到图片库向后兼容的问题,本来这样子就可以实现图片的切换:

js:
function showPic(Whichpic){
var placeholder = document.getElementById("placeholder");
var source = Whichpic.getAttribute("href");
placeholder.setAttribute("src",source);

}
这样子可以实现没有问题,问题是书介绍了要兼容的问题,因此改了代码,

把onclick函数去掉。js中增加:function prepareGallery(){
if(!document.getElementsByTagName)return false;
if(!document.getElementById)return false;
var gallery = document.getElementById("nav");
var links = gallery.getElementsByTagName("a");
for(var i=0;i<links.length;i++)
{
links[i].onclick=function(){

        return !showPic(this);
    }
}

}
结果一运行showPic是运行了,但是链接还是被点了进去,也就是说for循环里面没有返回false~不知道是什么问题??求解。。。。。。