2012-11-23 131 views
5

昨天我開始學習JavaScript。我正在使用系統Codecademy,但我卡住了。當我說「卡住」時,我的意思是我有我看不出有什麼問題的任務。學習編程JavaScript,但我卡住了

的分配是:

創建一個數組,myArray。它的第一個元素應該是一個數字,第二個元素應該是一個布爾值,第三個元素應該是一個字符串,第四個元素應該是......一個對象!您可以在前四個之後添加任意類型的任意元素。

這是我做的代碼:

var myObj = { 
    name: 'Hansen' 
}; 

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

錯誤:

Oops, try again. Is the fourth element of myArray an object?

希望你能幫助我。

+0

@Kevin我回滾你的編輯到這個問題,因爲它完全改變了問題,答案不再有意義。我發現這是你原來的一個後續問題。如果每個問題存在一個問題,堆棧溢出效果最好。如果需要,您可以鏈接到之前的上下文問題。 –

回答

4

您的第四個元素的問題是您傳遞字符串,因爲myObj.name定義爲Hansen。傳遞對象,而不是:

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

謝謝!應該問以前:) –

+1

@凱文,沒問題:)不知道爲什麼我一直downvoted ... – MrCode

1

我不知道該網站,但你可以這樣做:

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

什麼要傳遞到數組是你對象的name屬性,而不是值的對象本身。

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語法和對象字面值語法之間進行的。