我正在學習Javascript,我一直在使用PHP大約10年,所以我對JavaScript有一些瞭解,主要是使用jQuery並將它們一起黑客攻擊,我認爲是時候我花點功夫去學習它了所以我一直在閱讀它。Javascript函數和對象
下面是我定義和調用某些函數的示例。
方法1
function testFunction1() {
console.log('TestFunction1() was ran');
}
testFunction1();
方法2
var testFunction2 = function() {
console.log('TestFunction2() was ran');
}
testFunction2();
方法3
var TestFunction3 = {
flag: function() {
console.log('TestFunction3.flag() was ran');
},
unflag: function() {
console.log('TestFunction3.unflag() was ran');
}
};
TestFunction3.flag();
TestFunction3.unflag();
方法4
var TestFunction4 = {
Like: {
comment: function() {
console.log('TestFunction4.Like.comment() was ran');
},
user: function() {
console.log('TestFunction4.Like.user() was ran');
}
},
Unlike: {
comment: function() {
console.log('TestFunction4.Unlike.comment() was ran');
},
user: function() {
console.log('TestFunction4.Unlike.user() was ran');
}
}
};
TestFunction4.Like.comment();
TestFunction4.Like.user();
TestFunction4.Unlike.comment();
TestFunction4.Unlike.user();
確定,所以我明白方法1和2是隻是一個基本的函數調用。
1)
方法3和4是在我的問題入手,從其他崗位和閱讀,我不能告訴,如果這些仍然被認爲是與命名空間基本功能應用,或者,如果這些將被視爲對象?
2)
我曾經見過有時一個對象將與new
字跑不過這一切都在瀏覽器中調用工作正常,所以我猜測這是不是一個對象?如果它不是一個對象,我將如何使它成爲一個對象?
3)
實施例3和4是幾乎相同的,不同的是實施例4已功能而定義的1級更深然後例3中,是有一個名稱,例如圖3和4或者他們認爲是相同的東西?
4)
最後,在所有的4個例子中,這4種方法中的任何一種都優先於其他方法嗎?
對不起,所有在1中的問題,但他們都是相關的,我不認爲我需要爲此啓動4個單獨的問題。
你或許會從閱讀中受益:http://bonsaiden.github.com/JavaScript-Garden/和至少審查[ECMAScript標準(HTTP: //www.ecma-international.org/publications/standards/Ecma-262.htm)。 –
一切都是一個對象,除了'null'和'undefined'外。 – zzzzBov
如果您有空閒時間,請查看Douglas Crockford的[The Good Parts](http://www.amazon.com/exec/obidos/ASIN/0596517742/wrrrldwideweb)。相對較短的書,閱讀後,你的問題的答案應該是清楚的,我認爲。 – Jeroen