在下面的代码中,如果我在构造函数中注释//alert("Your Name is: " +fname);
,那么'alert(p1.fname); alerts "Suresh" and If I remove the comment out the
alert(“你的名字是:”+ fname); {{1} }:fname未定义`
then browser console gives out the error
我对这种行为感到困惑。请解释
感谢
答案 0 :(得分:2)
您正在使用第一个alert()
中不存在的变量,因此会收到一条错误消息,告诉您该变量未定义。
fname
函数中没有名为person()
的变量,它被称为this.fname
,就像你创建它一样
function person () {
this.fname = "Suresh";
alert("Your Name is: " + this.fname);
}
var p1 = new person();
alert(p1.fname);