var name="xiaofei"; function test(){ alert(name); var myname="xiaonou"; alert(myname); } test(); //执行弹出的第一次是undefined,第二次是xiaonou 脚本函数在执行test之前必须执行创建活动对象这一步,而在创建活动对象的时候 其构造是{name:undefined,myname:xiaonou};所以执行的时候自然就是上面的这个结果啦。 javascript权威指南中有句话和好的解释啦这个现象---函数总是在定义它的作用域执行的,而不是在执行它的作用域里运行。?