Bài giảng Lập trình mạng: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định

123 7 0
Bài giảng Lập trình mạng: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tiếp nội dung phần 1, Bài giảng Lập trình mạng: Phần 2 cung cấp cho người học những kiến thức như: Lập trình Javascript; Lập trình ASP, Các đối tượng cơ bản của ASP; Tập tin Global.asa; Đối tượng Dictionary; Đối tượng FileSystemObject; Đối tượng AdRotator. Mời các bạn cùng tham khảo!

Chƣơng 3: LẬP TRÌNH SCRIPT 3.1 Javascript 3.1.1 Giới thiệu Javascript JavaScript ngơn ngữ dƣới dạng script gắn với file HTML Nó khơng đƣợc biên dịch mà đƣợc trình duyệt diễn dịch Khơng giống Java phải chuyển thành mã để biên dịch, trình duyệt đọc JavaScript dƣới dạng mã nguồn Chính Chúng ta dễ dàng học JavaScript qua ví dụ Chúng ta thấy cách sử dụng JavaScript trang Web JavaScript ngôn ngữ dựa đối tƣợng, có nghĩa bao gồm nhiều kiểu đối tƣợng, ví dụ đối tƣợng Math với tất chức tốn học Tuy JavaScript khơng ngơn ngữ hƣớng đối tƣợng nhƣ C++ hay Java không hỗ trợ lớp hay tính thừa kế JavaScript đáp ứng kiện nhƣ tải hay loại bỏ form Khả cho phép JavaScript trở thành ngôn ngữ script động Giống với HTML Java, JavaScript đƣợc thiết kế độc lập với hệ điều hành Nó chạy hệ điều hành có trình duyệt hỗ trợ JavaScript Ngồi JavaScript giống Java khía cạnh an ninh: JavaScript khơng thể đọc viết vào file ngƣời dùng Các trình duyệt web nhƣ Nescape Navigator 2.0 trở hiển thị câu lệnh JavaScript đƣợc nhúng vào trang HTML Khi trình duyệt yêu cầu trang, server gửi đầy đủ nội dung trang đó, bao gồm HTML câu lệnh JavaScript qua mạng tới client Client đọc trang từ đầu đến cuối, hiển thị kết HTML xử lý câu lệnh JavaScript chúng xuất Các câu lệnh JavaScript đƣợc nhúng trang HTML trả lời cho kiện ngƣời sử dụng nhƣ kích chuột, nhập vào form điều hƣớng trang Ví dụ Chúng ta kiểm tra giá trị thông tin mà ngƣời sử dụng đƣa vào mà không cần đến trình truyền mạng Trang HTML với JavaScript đƣợc nhúng kiểm tra giá trị đƣợc đƣa vào thông báo với ngƣời sử dụng giá trị đƣa vào khơng hợp lệ Mục đích phần giới thiệu ngơn ngữ lập trình JavaScript để Chúng ta viết script vào file HTML 3.1.2 Nhúng Javascript trang web Chúng ta nhúng JavaScript vào file HTML theo cách sau đây: - Sử dụng câu lệnh hàm cặp thẻ - Sử dụng file nguồn JavaScript - Sử dụng biểu thức JavaScript làm giá trị thuộc tính HTML 83 - Sử dụng thẻ kiện (event handlers) thẻ HTML Trong đó, sử dụng cặp thẻ nhúng file nguồn JavaScript đƣợc sử dụng nhiều Sử dụng thẻ SCRIPT Script đƣợc đƣa vào file HTML cách sử dụng cặp thẻ Các thẻ xuất phần hay file HTML Nếu đặt phần , đƣợc tải sẵn sàng trƣớc phần lại văn đƣợc tải Thuộc tính đƣợc định nghĩa thời cho thẻ ―LANGUAGE=― dùng để xác định ngơn ngữ script đƣợc sử dụng Có hai giá trị đƣợc định nghĩa "JavaScript" "VBScript" Với chƣơng trình viết JavaScript Chúng ta sử dụng cú pháp sau : // INSERT ALL JavaScript HERE Điểm khác cú pháp viết ghi HTML JavaScript cho phép Chúng ta ẩn mã JavaScript ghi file HTML, để trình duyệt cũ khơng hỗ trợ cho JavaScript đọc đƣợc nhƣ ví dụ sau đây: Dòng cuối script cần có dấu // để trình duyệt khơng diễn dịch dịng dƣới dạng mã JavaScript Các ví dụ chƣơng không chứa đặc điểm ẩn JavaScript để mã dễ hiểu Sử dụng file nguồn JavaScript Thuộc tính SRC thẻ cho phép Chúng ta rõ file nguồn JavaScript đƣợc sử dụng (dùng phƣơng pháp hay nhúng trực tiếp đoạn lệnh JavaScript vào trang HTML) Cú pháp: Thuộc tính rấy hữu dụng cho việc chia sẻ hàm dùng chung cho nhiều trang khác Các câu lệnh JavaScript nằm cặp thẻ có chứa 84 thuộc tinh SRC trừ có lỗi Ví dụ Chúng ta muốn đƣa dòng lệnh sau vào cặp thẻ : document.write("Khơng tìm thấy file JS đƣa vào!"); Thuộc tính SRC đƣợc định rõ địa URL, liên kết đƣờng dẫn tuyệt đối, ví dụ: Các file JavaScript bên ngồi khơng đƣợc chứa thẻ HTML Chúng đƣợc chứa câu lệnh JavaScript định nghĩa hàm Tên file hàm JavaScript bên cần có js, server phải ánh xạ js tới kiểu MIME application/x-javascript Đó mà server gửi trở lại phần Header file HTML Để ánh xạ đuôi vào kiểu MIME, ta thêm dịng sau vào file mime.types đƣờng dẫn cấu hình server, sau khởi động lại server: type=application/x-javascript Nếu server không ánh xạ đƣợc đuôi js tới kiểu MIME application/x-javascript , Navigator tải file JavaScript đƣợc thuộc tính SRC khơng cách Trong ví dụ sau, hàm bar có chứa xâu "left" nằm cặp dấu nháy kép: function bar(widthPct) { document.write(" ") } 3.1.3 Cách đặt biểu thức cho thuộc tính thẻ HTML Chúng ta dùng biểu thức JavaScript làm giá trị cho thuộc tính thẻ HTML Các giá trị đƣợc thực cách động trang đƣợc trình duyệt tải vào Cú pháp nhƣ sau: & {expression}; Trong expression biểu thức JavaScript đƣợc thực Chẳng hạn ta định nghĩa biến chứa độ rộng Chúng ta dùng biến để xác định độ rộng đƣờng kẻ ngang trang Web Trong ví dụ sau đây, giá trị độ rộng đƣợc đặt 10: Ví dụ 3.1: tạo fiel Example.html nhƣ sau var linewidth = 10; 85 Đăt biểu thức cho thuộc tính HTML Khi mã đƣợc thực thi, phần tử HR dùng giá trị biến linewidth nhƣ minh họa hình sau: Hình 3.1 Kết chạy ví dụ 3.1 3.1.4 Dùng Javascript cho trình xử lí kiện JavaScript ngơn ngữ định hƣớng kiện, nghĩa phản ứng trƣớc kiện xác định trƣớc nhƣ kích chuột hay tải văn Một kiện gây việc thực đoạn mã lệnh (gọi Chƣơng triình xử lý kiện) giúp cho chƣơng trình phản ứng cách thích hợp Event Handler Một đoạn mã hay hàm đƣợc thực để phản ứng trƣớc kiện gọi Chƣơng trình xử lý kiện Chƣơng trình xử lý kiện đƣợc xác định thuộc tính thẻ HTML: tagName eventHandler = "JavaScript Code or Function" Ví dụ sau gọi hàm CheckAge() giá trị trƣờng văn thay đổi: INPUT TYPE=TEXT NAME="AGE" onChange="CheckAge()" Đoạn mã Chƣơng trình xử lý kiện khơng hàm; lệnh JavaScript cách dấu chấm phẩy Tuy nhiên cho mục đích viết thành module nên viết dƣới dạng hàm 3.1.5 Các kiểu liệu Khác với C++ hay Java, JavaScript ngơn ngữ có tính định kiểu thấp Điều có nghĩa kiểu liệu khai báo biến Kiểu liệu đƣợc tự động chuyển thành kiểu phù hợp cần thiết Ví dụ 3.2: file Variable.Html: 86 Datatype Example var fruit='apples'; var numfruit=12; numfruit = numfruit + 20; var temp ="There are " + numfruit + " " + "."; document.write(temp); Các trình duyệt hỗ trợ JavaScript xử lý xác ví dụ đƣa kết dƣới đây: Trình diễn dịch JavaScript xem biến numfruit có kiểu nguyên cộng với 20 có kiểu chuỗi kết hợp với biến temp Trong JavaScript, có bốn kiểu liệu sau đây: kiểu số nguyên, kiểu dấu phẩy động, kiểu logic kiểu chuỗi Kiểu nguyên (Interger) Số nguyên đƣợc biểu diễn theo ba cách: - Hệ số 10 (hệ thập phân) - biểu diễn số nguyên theo số 10, ý chữ số phải khác - Hệ số (hệ bát phân) - số nguyên biểu diễn dƣới dạng bát phân với chữ số số - Hệ số 16 (hệ thập lục phân) - số nguyên biểu diễn dƣới dạng thập lục phân với hai chữ số 0x Kiểu dấu phẩy động (Floating Point) Một literal có kiểu dấu phẩy động có thành phần sau: - Phần nguyên thập phân - Dấu chấm thập phân (.) - Phần dƣ - Phần mũ 87 Để phân biệt kiểu dấu phẩy động với kiểu số ngun, phải có chữ số theo sau dấu chấm hay E Ví dụ: 9.87 -0.85E4 9.87E14 98E-3 Kiểu logic (Boolean) Kiểu logic đƣợc sử dụng để hai điều kiện : sai Miền giá trị kiểu có hai giá trị: - true - false Kiểu chuỗi (String) Một literal kiểu chuỗi đƣợc biểu diễn không hay nhiều ký tự đƣợc đặt cặp dấu " " hay ' ' Ví dụ: “The dog ran up the tree” The dog barked “100” Để biểu diễn dấu nháy kép ( " ), chuỗi sử dụng ( \" ), ví dụ: document.write(“ \”This text inside quotes.\” ”); 3.1.6 Các toán tử Toán tử đƣợc sử dụng để thực phép tốn liệu Một tốn tử trả lại giá trị kiểu số, kiểu chuỗi hay kiểu logic Các tốn tử JavaScript đƣợc nhóm thành loại sau đây: gán, so sánh, sớ học, chuỗi, logic logic bitwise Gán Tốn tử gán dấu (=) nhằm thực việc gán giá trị toán hạng bên phải cho toán hạng bên trái Bên cạnh JavaScript cịn hỗ trợ số kiểu tốn tử gán rút gọn Kiểu gán thơng thường Kiểu gán rút gọn x=x+y x+=y x=x–y x-=y x=x*y x*=y x=x/y x/=y x=x%y x%=y So sánh Ngƣời ta sử dụng toán tử so sánh để so sánh hai toán hạng trả lại giá trị hay sai phụ thuộc vào kết so sánh Sau số toán tử so sánh JavaScript: 88 == Trả lại giá trị toán hạng bên trái toán hạng bên phải != Trả lại giá trị toán hạng bên trái khác toán hạng bên phải > Trả lại giá trị toán hạng bên trái lớn toán hạng bên phải >= Trả lại giá trị toán hạng bên trái lớn toán hạng bên phải < Trả lại giá trị toán hạng bên trái nhỏ toán hạng bên phải 2 trở thành (số nhị phân 10000 trở thành số nhị phân 100) >>> Tốn tử dịch phải có chèn Dịch chuyển toán hạng trái sang phải số lƣợng bit toán hạng phải Bit dấu đƣợc dịch chuyển từ trái (giống >>) Những bit đƣợc dịch sang phải bị xố Ví dụ: -8>>>2 trở thành 1073741822 (bởi bit dấu trở thành phần số) Tất nhiên với số dƣơng kết tốn tử >> >>> giống Có số toán tử dịch chuyển bitwise rút gọn: Kiểu bitwise thông thường Kiểu bitwise rút gọn x = x y x - >> y x = x >>> y x >>> = y x=x&y x&=y x=x^y x^=y x=x|y x|=y 3.1.7 Các biểu thức Tập hợp literal, biến tốn tử nhằm đánh giá giá trị đƣợc gọi biểu thức (expression) Về có ba kiểu biểu thức JavaScript: - Số học: Nhằm để lƣợng giá giá trị số Ví dụ (3+4)+(84.5/3) đƣợc đánh giá 197.1666666667 - Chuỗi: Nhằm để đánh giá chuỗi Ví dụ "The dog barked" + barktone + "!" The dog barked ferociously! - Logic: Nhằm đánh giá giá trị logic Ví dụ temp>32 nhận giá trị sai JavaScript hỗ trợ biểu thức điều kiện, cú pháp nhƣ sau: (condition) ? valTrue : valFalse 90 Nếu điều kiện condition đƣợc đánh giá đúng, biểu thức nhận giá trị valTrue, ngƣợc lại nhận giá trị valFalse Ví dụ: state = (temp>32) ? "liquid" : "solid" Trong ví dụ biến state đƣợc gán giá trị "liquid" giá trị biến temp lớn 32; trƣờng hợp ngƣợc lại nhận giá trị "solid" 3.1.8 Khai báo biến, mảng Tên biến JavaScript phải bắt đầu chữ hay dấu gạch dƣới Các chữ số không đƣợc sử dụng để mở đầu tên biến nhƣng sử dụng sau ký tự Phạm vi biến hai kiểu sau: - Biến tồn cục: Có thể đƣợc truy cập từ đâu ứng dụng đƣợc khai báo nhƣ sau : x = 0; - Biến cục bộ: Chỉ đƣợc truy cập phạm vi chƣơng trình mà khai báo Biến cục đƣợc khai báo hàm với từ khoá var nhƣ sau: var x = 0; Biến tồn cục sử dụng từ khố var, nhiên điều khơng thực cần thiết Mảng (Array) Mặc dù JavaScript không hỗ trợ cấu trúc liệu mảng nhƣng Netscape tạo phƣơng thức cho phép Chúng ta tự tạo hàm khởi tạo mảng nhƣ sau: function InitArray(NumElements){ this.length = numElements; for (var x=1; x

Ngày đăng: 08/06/2021, 14:21

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan