2015-07-01 86 views
-1

我想了解學習JS之後的一段時間。我最近發現了一篇關於如何用sqlite和JS創建待辦事項列表的簡短教程。這裏是一些代碼:javascript/sqlite noob - 變量的聲明

var html5rocks = {}; 
html5rocks.webdb = {}; 
html5rocks.webdb.db = null; 

html5rocks.webdb.open = function() { 
    var dbSize = 5 * 1024 * 1024; // 5MB 
    html5rocks.webdb.db = openDatabase("Todo", "1.0", "Todo manager", dbSize); 
} 

html5rocks.webdb.createTable = function() { 
    var db = html5rocks.webdb.db; 
    db.transaction(function(tx) { 
    tx.executeSql("CREATE TABLE IF NOT EXISTS todo(ID INTEGER PRIMARY KEY ASC, todo TEXT, added_on DATETIME)", []); 
    }); 
} 

我不明白的是爲什麼html5rocks.webdb = {};html5rocks.webdb.db = null;'聲明是這樣寫的那個。你怎麼能指定webdbwebdb.db這種方式之前,你聲明他們作爲變數裏面'html5rocks{}?

我從來沒有見過這種方式來聲明變量。 有人可以解釋一下嗎?

回答

0

{}是一個對象。

[]是一個數組。

所以,

var html5rocks = {}; // object html5rocks is made, and is still empty 
html5rocks.webdb = {}; // now html5rocks has a property: Webdb. Webdb itself is an object. 
html5rocks.webdb.db = null; // db, set to null, is added to Webdb (itself a property of html5rocks) 

關於JavaScript的好處:你不需要類,你就去做。你創造一個新的財產,你可以立即使用它。

OOP語言通常需要多行代碼。在javascript中:existingObject.newProperty ='new value';

+0

謝謝你的回答。 – blender28