newJavaScript中的关键字在第一次遇到时会非常混乱,因为人们倾向于认为JavaScript不是面向对象的编程语言.
除了this使用new关键字调用构造函数之外,Javascript中的return语句可以返回一个值的具体情况是什么?
例:
function Foo () {
return something;
}
var foo = new Foo ();
Run Code Online (Sandbox Code Playgroud)
如果我没有弄错,if something是非函数原语,this将被返回.否则something返回.它是否正确?
IOW,可以something采取什么样的价值观(new Foo () instanceof Foo) === false?
我刚刚开始考虑这个问题,但是在jsFiddle中乱窜时无法让自己暴露出来.
var a = new Array(1),
b = Array(1);
console.log(a, b);
Run Code Online (Sandbox Code Playgroud)
输出是两个具有一个未定义成员的数组.
做一个for ( in )揭示他们有相同的属性.
这些有什么区别?第一个是否只是显式地实例化对象?
请不要告诉我使用数组文字表示法,因为我已经知道了.我更希望在上面解释的知识中填补这个空白.