一段代码窥探对象中括号的一些皮毛
var Obj = function (msg) {
this.name = msg;
this.print = function () {
console.info( "1111");
};
this.Date = function () {
return new Date();//返回当前时间的Date()对象
};
if (msg==="Date") {
return this[msg];//相当于:return this.Date;这里的this.Date是一个方法,执行后才会返回一个Date()对象
}
}
var my = new Obj("ddd");
var name=my.name;//此时name等于"ddd"
name=my["name"];//这样也可以获取my中name属性的值"ddd"
my.print();//控制台打印:"1111"
var fun=new Obj("Date");//fun此时是一个方法,不再像变量my一样有name属性和print方法
var date=fun();//此时的date才是一个Date()对象
date=my.Date();
date=my["Date"]();//这样也可以获取到一个Date()对象;
//my["Date"]相当于my.Date 这里没有括号
个人觉得中括号的使用有点像C#中字典,键值对的key