全局函数不能正常运行javascript窗口对象

时间:2014-05-06 10:13:48

标签: javascript

下面是一些javscript代码:

showFullName(); // Peter Ally
window.showFullName(); // Peter Ally

这两个函数调用只在window对象上,但是第一个调用正常,但第二个调用给出了以下错误:

  

TypeError:undefined不是函数

var firstName = "Peter",
lastName = "Ally";

function showFullName () {
   console.log (this.firstName + " " + this.lastName);
}

var person = {
    firstName   :"Penelope",
    lastName    :"Barrymore",
    showFullName: function () {
       console.log (this.firstName + " " + this.lastName);
    }
};

showFullName (); // Peter Ally
window.showFullName(); // it should output: Peter Ally, but giving error 
person.showFullName (); // Penelope Barrymore

1 个答案:

答案 0 :(得分:0)

showFullName(); // Peter Ally
window.showFullName(); // Peter Ally
     

这两个函数调用在窗口对象

不,只有第二个是。第一个是在你的本地范围内。

  

但第一个调用正常,但第二个调用错误

这意味着showFullName上没有window方法。您没有在html页面的全局范围内执行代码,而是声明了本地范围的函数。在任何范围内。