我相信我已经在jquery中看到了一些这样的例子.但对我来说,以下代码不起作用.firebug调试器告诉我:'位置未定义'.你能告诉我这是否可行?
function ResolveGeoCode() {
var Location;
Location.Ad1 = "Hello ";
Location.Ad2 = "World";
return Location;
}
var loc = ResolveGeoCode();
var String1 = loc.Ad1; //This contains "Hello "?
var String2 = loc.Ad2; //This contains "World"?
Run Code Online (Sandbox Code Playgroud)
可以给我正在寻找的这类功能一个名字吗?
谢谢.
Jus*_*son 15
这就是发生的事情:
function ResolveGeoCode() {
// Location is declared, but its value is `undefined`, not `object`
var Location;
alert(typeof Location); // <- proof pudding
// Failing here because you're trying to add a
// property to an `undefined` value
Location.Ad1 = "Hello ";
Location.Ad2 = "World";
return Location;
}
Run Code Online (Sandbox Code Playgroud)
Location在尝试向其添加属性之前,通过将其声明为空对象文字来修复它:
function ResolveGeoCode() {
var Location = {};
alert(typeof Location); // now it's an object
// Programmatically add properties
Location.Ad1 = "Hello ";
Location.Ad2 = "World";
return Location;
}
Run Code Online (Sandbox Code Playgroud)
如果您提前知道属性及其相应的值,则可以使用更内联的方法:
function ResolveGeoCode() {
var Location = {
Ad1: "Hello ",
Ad2: "World"
};
// ...further manipulations of Location here...
return Location;
}
Run Code Online (Sandbox Code Playgroud)
阅读此处了解有关对象文字的更多信息.
这是内联对象创建的语法(在本例中从函数返回。)。
function ResolveGeoCode() {
return {
Ad1: "Hello ",
Ad2: "World"
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11799 次 |
| 最近记录: |