哪位高手能看懂下面这几句javascript代码?帮小弟我解释一下吧,谢谢了

谁能看懂下面这几句javascript代码?帮我解释一下吧,多谢了!
var obj = {
    showResults: function(value, index) {
        var squared = this.calcSquare(value);
        document.write("value: " + value);
        document.write(" index: " + index);
        document.write(" squared: " + squared);
        document.write("<br />");
    },
    calcSquare: function(x) { return x * x }
};

我的问题:
1、{}括起来的是一个什么结构;
2、第三行中的this是什么意思?指代什么?
3、为什么我调用alert(obj.showResults(3,2));会弹出undefined?
4、我该如何调用obj.showResults?


------解决思路----------------------
1、{}括起来的是一个什么结构; 
{}表示对象, 也可以表示成 new Object()。js中可直接定义对象, 而不用象java之类的强类型语言需要使用 new关键字来实例化对象
2、第三行中的this是什么意思?指代什么?
this指的是当前函数用这个方法的对象,  在你的代码里就是指obj 变量
3、为什么我调用alert(obj.showResults(3,2));会弹出undefined?
因为showResults方法没有返回值, 所以是unddfined, 如果你在里面return一个值, 那就不会是unddfined
4、我该如何调用obj.showResults?
直接obj.showResults()这样就是调用