我们有一个简单的脚本片段:
var foo=function(){ return 'a'; };//1
var bar={prop:foo()};//2
alert(bar.prop);//3
在哪一行foo
函数代码正在执行? 2点还是3点?如果可能的话,请给我一个规格证明/链接。
解释器发现_some_name()
内部方法[[Call]]
会被调用吗?
答案 0 :(得分:4)
考虑以下示例
var foo = function() { return 'a<br />'; };
var bar = { prop: foo() }; // foo is invoked here and 'a' assigned to bar.prop
document.body.innerHTML += bar.prop;
var baz = { prop: foo }; // foo is assigned to baz.prop
document.body.innerHTML += baz.prop(); // foo is invoked here
答案 1 :(得分:2)
第2行。
第1行是定义foo的地方。第2行是调用它的地方。