VNJS.NET
Javascript căn bản
Javascript là gì?
Javascript là một ngôn ngữ lập trình được tạo ra vào năm 1995 bởi Brendan Eich tại Netscape. Mục đích ban đầu để nâng cao khả năng tương tác của trang web với người sử dụng.
Thông thường mã javascript (gọi tắt là js) được nhúng vào trong trang web, và được thực thi bởi trình duyệt. Ngoài ra mã js còn được sử dụng một số nơi khác như trên server (cùng nodejs), trong các kịch bản photoshop, các plugin, extension của trình duyệt, các ứng dụng trên điện thoại, máy tính bảng ....
ví dụ:
Javascript cơ bản
Kết quả : example.html
Ví dụ đơn giản trên trạm tới hầu hết các vấn đề hay gặp khi làm việc cùng Javascript: khai báo biến, viết hàm, gọi hàm, xử lý chuỗi, vòng lặp, rẽ nhánh, cài đặt sự kiện, truy xuất và chỉnh sửa phần tử trong trang web...Cần những gì để bắt đầu?
Trình duyệt để xem kết quả:
Một chương trình soạn thảo, chọn trong danh sách sau:
- Notepad ++ (window)
- Aptana (window | mac | linux)
- Eclipse (window | mac | linux)
- Komodo Edit (window | mac | linux)
- Sublime Text (window | mac | linux)
Sách tham khảo:
- JavaScript: The Definitive Guide Book
Tác giả: David Flanagan - Professional JavaScript for Web Developers
Tác giả: Nicholas C. Zakas
Website hướng dẫn:
Chương trình đầu tiên?
Cài đặt trình duyệt và trình soạn thảo ở trên.
- Tải ví dụ trên : example.zip về máy tính.
- Giải nén ra sẽ được file: example.html.
- Click trực tiếp vào nó để tự mở ra cùng với trình duyệt mặc định.
- Xác nhận trình duyệt được mở và trang web có nhiều dòng chữ màu xanh như thế này có nghĩa chương trình đã chạy thành công!
Chương trình "Hello World"?
- Mở trình soạn thảo.
- Tạo một 1 file mới.
-
Nhập vào đoạn mã sau:
- Lưu file thành hello-world.html theo mã unicode
- Mở file hello-world.html trong trình duyệt, xác nhận có 1 khung hình chữ nhật có chữ "Hello world" và một nút có chữ "OK" hiện ra là chương trình chạy được !
Kết quả : hello-world.html
Đưa mã javascript vào trang web?
-
Cách đơn giản:
Trong trang web tạo thẻ <script> có thuộc tính type="text/javascript" rồi viết mã javascript vào giữa vùng thẻ đóng và thẻ mở như sau:
javascript - cơ bản -
Cách thông dụng:
Trong trang web tạo thẻ <script> có thuộc tính src trỏ đến một file javascript có sẵn và có thể thêm thuộc tính type="text/javascript":
javascript - cơ bản Chú ý: Giá trị của thuộc tính src là đường dẫn tương đối hoặc đường dẫn tuyệt đối trỏ đến file javascript.
ở ví dụ trên thuộc tính src có giá trị: http://vnjs.net/js/run_prettify.js là một đường dẫn tuyệt đối.
Trong các file javascript mở rộng sẽ không chứa thẻ <script>, chỉ chứa mã javascript.
-
Cách khác:
Viết trực tiếp vào trong một số thuộc tính (action, href, onblur, onclick, onload ...) trong các thẻ của html
javascript - cơ bản javascript
Toán tử và từ khóa
Một số từ khóa sau được kết hợp với những toán tử khác theo các qui tắc nhất định để tạo nên cấu trúc một chương trình Javascript. Những từ khóa này nên được nhớ kỹ và không sử dụng để đặt tên biến, tên hàm.
- /* */ : tạo ghi chú nhiều dòng
- // : tạo ghi chú một dòng
- + : phép cộng
- - : phép trừ
- * : phép nhân
- / : phép chia
- % : phép lấy đồng dư
- ! : phép toán phủ định
- ++ : cộng thêm 1 cho một số
- -- : trừ bớt 1 cho một số
- = : phép gán (sử dụng rất nhiều)
- += : cộng xong rồi gán ngược lại
- -= : trừ xong rồi gán ngược lại
- *= : nhân xong rồi gán ngược lại
- /= : chia xong rồi gán ngược lại
- &
- |
- ^
- ~
- &=
- |=
- ^=
- ~=
- <<
- >>
- >>>
- == : so sánh bằng nhau
- != : so sánh khác nhau
- === : so sánh bằng tuyệt đối
- !== : so sánh khác nhau tuyệt đối
- > : so sánh lớn hơn
- < : so sánh nhỏ hơn
- >= : so sánh lớn hơn hoặc bằng
- <= : so sánh nhỏ hơn hoặc bằng
- || : phép toán logic hoặc
- && : phép toán logic và
- ! : phép toán logic phủ định
- , : dấu phân cách các biến, giá trị trong mảng, trong đối tượng
- ; : dấu hiệu kết thúc 1 câu lệnh
- { : dấu hiệu bắt đầu một khối lệnh
- } : dấu hiệu kết thúc một khối lệnh
- do
- if
- in
- for
- int
- new
- try
- var
- byte
- case
- char
- else
- enum
- goto
- long
- null
- this
- true
- void
- with
- break
- catch
- class
- const
- false
- final
- float
- short
- super
- throw
- while
- delete
- double
- export
- import
- native
- public
- return
- static
- switch
- throws
- typeof
- boolean
- default
- extends
- finally
- package
- private
- abstract
- continue
- debugger
- function
- volatile
- interface
- protected
- transient
- implements
- instanceof
- synchronized
Viết một câu lệnh và khối lệnh?
-
Câu lệnh là sự kết hợp có qui tắc của từ khóa, toán tử và các ký tự nhằm thông báo cho trình thông dịch (thường là trình duyệt) biết phải làm cái gì đó tại thời điểm này. Kết thúc một câu lệnh thường có dấu ;
Cú pháp:
bảo cho trình duyệt làm cái gì đó ;
ví dụ về câu lệnh bảo trang web lượn đi cho nước nó trong:
javascript - cơ bản javascript - cơ bản
ví dụ về tiếp về câu lệnh phục hồi nhân phẩm cho trang web trước:
javascript - cơ bản javascript - cơ bản
-
khối lệnh được tạo bởi nhiều câu lệnh gom nhóm lại. Một khối lệnh thường bắt đầu bằng dấu { và kết thúc bởi }
Cú pháp:
{ .. các câu lệnh .. }
ví dụ về khối lệnh làm trang web đổi trắng thay đen:
javascript - cơ bản javascript - cơ bản
Tạo chú giải trong javascript?
-
Chú giải cho một dòng (đơn dòng) được bắt đầu bằng 2 dấu // tiếp theo là nội dung
Cú pháp:
// nội dung cần giải thích
ví dụ về tạo chú giải một dòng:
javascript - cơ bản -
Chú giải nhiều dòng (đa dòng) được bắt đầu bằng /* và kết thúc bởi */
Có thể dùng ghi chú đa dòng thay cho đơn dòng.Cú pháp:
/* nội dung cần giải thích */
ví dụ về tạo chú giải nhiều dòng:
javascript - cơ bản
Chú giải thường dùng cho lập trình viên dễ nắm bắt ý tưởng, cách thức hoạt động của chương trình. Phần chú giải sẽ không được thực thi.
Khai báo biến trong javascript?
Khai báo một biến thường bắt đầu bằng chữ var, tiếp sau là ít nhất 1 khoảng trắng, sau đó là tên của biến. Cuối cùng lại là một số lựa chọn cho việc kết thúc khai báo bằng dấu ; hay gán giá trị đầu tiên hoặc tiếp tục lặp lại quá trình khai báo trên cho biến tiếp theo.
Tên của một biến phải được bắt đầu bằng 1 chữ cái viết HOA hoặc viết thường hay ký tự _, $
Những ký tự tiếp theo của tên biến được trọn trong số sau: một con số, chữ cái thường, chữ cái viết HOA, ký tự _ hay ký tự $.
Tên của biến không được ngẫu nhiên trùng với các từ khóa đã được giới thiệu ở trên (break, const ...)
Tên của biến không nên trùng với tên hàm đã khai báo trước.
Tên của biến phân biệt chữ thường và chữ HOA.
-
Khai báo kiểu 1:
var tên của biến;
-
Khai báo kiểu 2:
var tên của biến = giá trị của biến;
-
Khai báo kiểu 3:
var tên của biến 1 = giá trị của biến 1, tên biến 2 = giá trị biến 2, ... ;
ví dụ về khai báo biến thuần túy:
javascript - cơ bản
ví dụ về khai báo biến cùng giá trị đầu tiên:
javascript - cơ bản
ví dụ về khai báo nhiều biến cùng một lúc:
javascript - cơ bản
ví dụ về đặt tên biến sai hoặc phạm húy (trình duyệt sẽ báo lỗi):
javascript - cơ bản
Cấu trúc điều khiển rẽ nhánh
-
Cấu trúc switch:
switch ( giá trị ) { case giá trị 1 : thực thi khối lệnh 1 beak; case giá trị 2 : thực thi khối lệnh 2 beak; default: thực thi khối lệnh khác khi các trường hợp trên không xảy ra }
ví dụ:
javascript - cơ bản -
Cấu trúc if:
if (điều kiện đúng) { thực thi khối lệnh }
ví dụ:
javascript - cơ bản -
Cấu trúc if cùng else:
if (điều kiện đúng) { thực thi khối lệnh } else { thực thi khối lệnh khác }
ví dụ:
javascript - cơ bản -
Cấu trúc if cùng else if và else:
if (điều kiện đúng) { thực thi khối lệnh } else if (điều kiện khác đúng) { thực thi khối lệnh } else { thực thi khối lệnh mặc định }
ví dụ:
javascript - cơ bản
Cấu trúc vòng lặp
-
Vòng lặp for:
for ( khởi tạo giá trị ban đầu; điều kiện đúng; câu lệnh lặp) { thực thi khối lệnh }
ví dụ:
javascript - cơ bản ---vẽ hình tam giác -
Vòng lặp while:
while ( điều kiện đúng ) { thực thi khối lệnh }
ví dụ:
javascript - cơ bản -
Vòng lặp for .. in:
for ( giá trị so sánh in đối tượng tham chiếu) { thực thi khối lệnh }
for .. in là chiêu thức ảo diệu nhất trong Javascript. Lĩnh ngộ được nó là có thể tự học được Javascript, thậm chí cả thư viện giống như jQuery, YUI.
ví dụ xem API:
javascript - cơ bản Kết quả: view-api.html
-
Vòng lặp do .. while:
do { thực thi khối lệnh } while ( điều kiện đúng )
ví dụ:
javascript - cơ bản
Viết hàm và gọi hàm
-
Hàm có đầy đủ tên và tham số:
function tên của hàm (tham số 1, tham số 2 ..) { khối lệnh }
-
Hàm có tên thiếu tham số:
function tên của hàm () { khối lệnh }
-
Hàm thiếu cả tên và tham số:
function () { khối lệnh }
-
Hàm thiếu tên nhưng có tham số:
function ( tham số 1, tham số 2 ..) { khối lệnh }
Nếu hàm số được đặt tên, thì tên được đặt theo qui tắc đặt tên biến.
ví dụ về viết hàm:
javascript - cơ bản
Để gọi một hàm chỉ việc viết tên hàm cùng tham số truyền vào nếu có.
ví dụ về gọi hàm:
javascript - cơ bản
Ngoài ra còn có cú pháp ít phổ biến hơn khi viết hàm:
new Function( [tham số 1] [, tham số 2] [..., tham số n] , "khối lệnh thân hàm" );
ví dụ về sử dụng new Function:
javascript - cơ bản
Phạm vi của biến
- Biến khai báo bên trong 1 hàm gọi là biến cục bộ (địa phương)
Biến này chỉ được tham chiếu ở trong phạm vi hàm mà nó đã khai báo. Không thể gọi từ trong hàm khác hoặc bên ngoài chương trình.
- Biến khai báo không nằm trong bất kỳ hàm nào gọi là biến toàn cục
Biến này được tham chiếu ở mọi nơi trong chương trình kể cả trong các hàm khác. Miễn là lúc tham chiếu đến biến này nó đã được khai báo.
"use strict"; là câu lệnh gì?
'use strict'; được viết để cho trình duyệt xem xét mã javascript một cách nghiêm ngặt (strict mode).
nó có phạm vi hoạt động giống như là phạm vi của biến
nếu được khai báo trong chương trình thì phạm vi của nó là toàn chương trình.
nếu được khai báo trong một hàm nào đó thì chế độ quản chế này (strict mode) chỉ áp dụng cho hàm đó mà thôi,
không có tác dụng trong hàm khác và toàn chương trình.
ý nghĩa của 'use strict'; như là sự cố gắng gìn giữ sự trong sáng của Javascript.
như hạn chế tình trạng chen lấn xô đẩy, tranh giành khách giữa các biến,
hạn chế tình trạng chơi chữ bằng cách dùng từ đồng âm khác nghĩa làm đau đầu anh em lập trình viên.
Có điều đáng tiếc là chỉ có những phiên bản trình duyệt mới hiểu nó.
ví dụ về tranh giành khách, đoạt xá:
javascript - cơ bản
chuyện đáng tiếc trên sẽ không xảy ra nếu như sử dụng "use strict":
javascript - cơ bản Mở console lên sẽ thấy thông báo sau lỗi: SyntaxError
0 nhận xét:
Đăng nhận xét