学习JavaScript编程,但我被卡住了

时间:2012-11-23 18:34:47

标签: javascript arrays object

昨天我开始学习JavaScript。我正在使用系统Codecademy,但我被卡住了。当我说“卡住”时,我的意思是我的作业,我看不出有什么问题。

作业是:

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

这是我制作的代码:

var myObj = {
    name: 'Hansen'
};

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

错误:

  

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

希望你能帮助我。

3 个答案:

答案 0 :(得分:4)

第四个元素的问题是您传递的是字符串,因为myObj.name定义为Hansen。改为传递对象:

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分: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语法和对象文字语法之间进行的交换。