我有以下java脚本代码
var obj = (function(){
var privateVariable1 = 5;
function privateFunction(){
alert(privateVariable1);
}
obj1 = {};
obj1.publicVariable = privateVariable1;
obj1.publicFunction = function(){
privateFunction();
}
return obj1;
}());
alert(obj.publicFunction());
它警报为 5 且未定义。我不明白为什么它也未定义警报。谁能告诉我为什么会发生这种行为?