Tôi đang học Javascript, tôi đã sử dụng PHP trong khoảng 10 năm nên tôi có một số kiến thức về Javascript, chủ yếu chỉ cần sử dụng jQuery và hack nó lại với nhau, tôi nghĩ đã đến lúc tôi cố gắng học nó tốt hơn vì vậy tôi đã đọc trên đó.Javascript Chức năng và đối tượng
Dưới đây là ví dụ về cách xác định và gọi một số chức năng của tôi.
Phương pháp 1
function testFunction1() {
console.log('TestFunction1() was ran');
}
testFunction1();
Phương pháp 2
var testFunction2 = function() {
console.log('TestFunction2() was ran');
}
testFunction2();
Phương pháp 3
var TestFunction3 = {
flag: function() {
console.log('TestFunction3.flag() was ran');
},
unflag: function() {
console.log('TestFunction3.unflag() was ran');
}
};
TestFunction3.flag();
TestFunction3.unflag();
Phương pháp 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();
Ok vì vậy tôi hiểu phương pháp 1 và 2 được chỉ là một chức năng cuộc gọi cơ bản.
1)
Phương pháp 3 và 4 là câu hỏi bắt đầu, từ bài đăng khác và đọc, tôi không thể coi đây là chức năng cơ bản với không gian tên được áp dụng hay không?
2)
Tôi đã thấy đôi khi một đối tượng sẽ được gọi với từ new
tuy nhiên chạy tất cả điều này trong trình duyệt hoạt động tốt nên tôi đoán đây không phải là đối tượng? Nếu nó không phải là một đối tượng, làm thế nào tôi sẽ biến nó thành một đối tượng?
3)
Ví dụ 3 và 4 khá giống với ngoại lệ ví dụ 4 có hàm được xác định 1 cấp sâu hơn ví dụ 3, có tên cho ví dụ 3 và 4 hoặc chúng được coi là giống nhau không?
4)
Cuối cùng trong tất cả 4 ví dụ, có bất kỳ phương pháp nào trong số 4 phương pháp này được ưu tiên hơn phương pháp khác không?
Xin lỗi vì tất cả các câu hỏi trong 1 nhưng tất cả đều có liên quan và tôi không nghĩ rằng tôi cần phải bắt đầu 4 câu hỏi riêng cho việc này.
Bạn có thể hưởng lợi từ việc đọc: http://bonsaiden.github.com/JavaScript-Garden/ và ít nhất là xem lại [tiêu chuẩn ECMAScript] (http: //www.ecma-international.org/publications/standards/Ecma-262.htm). –
Mọi thứ đều là một đối tượng, ngoại trừ 'null' và' undefined'. – zzzzBov
Nếu bạn có thời gian rảnh rỗi hãy xem [The Good Parts] (http://www.amazon.com/exec/obidos/ASIN/0596517742/wrrrldwideweb) của Douglas Crockford. Cuốn sách tương đối ngắn, sau khi đọc nó câu trả lời cho câu hỏi của bạn nên rõ ràng tôi nghĩ. – Jeroen