5

昨天我开始学习 JavaScript。我正在使用系统Codecademy,但我被卡住了。当我说“卡住”时,我的意思是我的任务是我看不到哪里出了问题。

任务是:

创建一个数组,myArray. 它的第一个元素应该是一个数字,它的第二个应该是一个布尔值,它的第三个应该是一个字符串,它的第四个应该是......一个对象!在前四个之后,您可以添加任意数量的任何类型的元素。

这是我制作的代码:

var myObj = {
    name: 'Hansen'
};

var myArray = [12,true, "Steen" ,myObj.name];

错误:

糟糕,再试一次。myArray 的第四个元素是对象吗?

希望您能够帮助我。

4

3 回答 3

4

您的第四个元素的问题是您正在传递一个字符串,因为myObj.name它被定义为Hansen. 而是传递对象:

var myArray = [12,true, "Steen" ,myObj];
于 2012-11-23T18:37:18.193 回答
1

我不知道那个网站,但你可以这样做:

var myArray = [
    12,
    true,
    "Steen",
    {name: 'Hansen'}
];

您传递给数组的是name对象属性的值,而不是对象本身。

于 2012-11-23T18:38:32.920 回答
0

您可能已经从其他答案中知道,您传入的是 name 属性而不是第四个数组参数的对象。

正如您在这里学习的那样,有几种方法可以与您在这里完成的事情完全相同。

你的方式更正了:

var myObj = {
    name: 'Hansen'
};

var myArray = [12, true, "Steen", myObj];

其他方法:

// Method 1
var myArray = [12, true, "Steen", {name: 'Hansen'}];

// Method 2
var myObj = new Object();
myObj.name = "Hansen";
var myArray = new Array(12, true, "Steen", myObj);

// Method 3
var myObj = {};
myObj['name'] = 'Hansen'
var myArray = [
    12, true, 'Steen', myObj
]

每种方法都展示了几种不同的方法来做同样的事情,您可以混合和匹配代码的等效部分来完成相同的工作。它基本上是在普通 JavaScript 语法和对象字面量语法之间相互转换。

于 2012-11-23T19:40:12.960 回答