<script language="Javascript">
function Person(){
}
var person1=new Person();
person1.name= "hailongshih";
person1.age= 23;
var x="age";
//eval("alert(person1.“+x+”);");
function sayFuc()
{ var x="name";
alert(person1[x] + ":" + person1["age"]);
var x="age";
alert(person1[x] + ":" + person1["age"]);
}
person1.say=sayFuc();
person1.say();
</script>
运行不出效果来,当把
/*var x="age";
eval("alert(person1.“+x+”);");*/时就可以运行出效果了
不太理解,前一种全局变量x不是被函数里面的x覆盖掉吗?
function Person(){
}
var person1=new Person();
person1.name= "hailongshih";
person1.age= 23;
var x="age";
//eval("alert(person1.“+x+”);");
function sayFuc()
{ var x="name";
alert(person1[x] + ":" + person1["age"]);
var x="age";
alert(person1[x] + ":" + person1["age"]);
}
person1.say=sayFuc();
person1.say();
</script>
运行不出效果来,当把
/*var x="age";
eval("alert(person1.“+x+”);");*/时就可以运行出效果了
不太理解,前一种全局变量x不是被函数里面的x覆盖掉吗?
function Person(){
}
var person1=new Person();
person1.name= "hailongshih";
person1.age= 23;var x="age"; // 原来是中文分号!
//eval("alert(person1.“+x+”);"); function sayFuc()
{
var x="name";
alert(person1[x] + ":" + person1["age"]);
var x="age";
alert(person1[x] + ":" + person1["age"]);
}person1.say = sayFuc; // 带括号表示执行该函数!而函数名表示函数句柄!
person1.say();
但是当我把eval("alert(person1.“+x+”);");前面双斜杠去掉了,为什么就没有结果呢