在脚本标记中,为了在varible中检索变量值,我使用了以下代码,但它没有返回任何值。
<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
<script type="text/javascript" language="javascript">
$(function () {
var data = {
GetAnimals: function()
{
return 'tiger'; assign value to GetAnimals variable
},
GetBirds:function()
{
return 'pegion'; assign value to GetBirds variable
}
}
});
document.write(data.GetAnimals);//should print tiger
document.write(data.GetAnimals);//should print pegion
</script>
但是,我无法打印出所需的结果 提前谢谢。
答案 0 :(得分:4)
您不是将函数称为函数:
document.write(data.GetAnimals());//should print tiger
document.write(data.GetBirds());//should print pegion
最重要的是,您尝试从外部 data
访问$(function() { ... });
,此时此时间不再存在。
$(function () {
var data = {
GetAnimals: function() {
return 'tiger'; // assign value to GetAnimals variable
},
GetBirds:function() {
return 'pegion'; // assign value to GetBirds variable
}
}
document.write(data.GetAnimals());//should print tiger
document.write(data.GetBirds());//should print pegion
});
答案 1 :(得分:1)
从未听说过“自我调用函数”?
var data = {
GetAnimals: (function () {
return 'tiger';
// assign value to GetAnimals variable
})(),
GetBirds: (function () {
return 'pegion';
// assign value to GetBirds variable
})()
}
});
答案 2 :(得分:0)
$(function () {
var data = {
getAnimals: function() {
return 'tiger';
},
getBirds: function() {
return 'pigeon'; // I guess you meant pigeon
}
}
});
document.write(data.getAnimals()); // *call* the method
document.write(data.getBirds()); // call the correct method
并且请使用适当的大写和缩进。