我不知道该怎么做......
function f1()
{
var x = 10;
function f2(fx)
{
var x;
x = 6;
fx();
};
function f3()
{
print x;
};
f2(f3);
};
对于以下两种绑定方法中的每一种,程序会打印什么? A)浅结合 B)深度绑定
感谢您的帮助!
答案 0 :(得分:8)
深度/浅层绑定只有在过程可以作为参数传递给函数时才有意义。
此处 f3()获取 f1()的环境,并将 x 的值打印为 10 这是 f1()的局部变量。
答案 1 :(得分:1)
•执行传递的子程序的调用语句的环境 (浅层绑定)
•传递子程序定义的环境(深层次 结合)。
在某些情况下,声明子程序的子程序也会通过该子程序 子程序作为参数。在这些情况下,深度绑定和临时绑定 是一样的。
答案 2 :(得分:-2)
浅层绑定:制定传递的子程序的调用语句的环境 深度绑定:所传递子程序的定义环境 临时绑定:将子问题作为实际参数传递的调用语句的环境