function foo() {
return {a:9};
}
var bar = foo();
bar.a //returns 9
或者
function foo() {
return {a:9};
}
var bar = new foo();
bar.a // returns 9
据我所知 new 没有与对象文字表示法一起使用,但是 new 怎么会与它一起使用呢?另外,为什么原型可以用新对象访问,但不能用对象文字符号访问?
编辑:
我现在明白了,如果有其他人偶然发现这个问题/问题,这可能会帮助你理解它:
function foo() {
this.a = "LOL";
return "WTF";
};
var bar = new foo(); // bar = [Object object]
var c = foo(); // c = "WTF"
window.a // "LOL"
另请阅读接受的答案。