Hướng dẫn Tìm hiểu về đối số hàm trong javaScript

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,829
Được Like
12,687
Tìm hiểu về đối số hàm trong javaScript

Có thể nói javaScript là ngôn ngữ hướng đối tượng, hầu như mọi thứ trong javaScript đều làm việc theo hướng đối tượng như chuỗi, mảng...
bên trong mọi hàm javaSctipt đều tồn tại một biến theo ngữ cảnh có tên là arguments, nó không phải là một mảng đúng nghĩa vì mảng trong javaScript cũng là một đối tượng, với arguments bạn không thể thay đổi nó hay bạn không thể dùng phương thức push() để thêm những phần tử mới, nhưng bạn lại có thể truy cập những phần tử như cách trong mảng, nó cũng có thuộc tính length như trong mảng. Hãy xem xét những vị dụ sau để rõ hơn điều này.

Ví dụ bạn sẽ tạo ra một hàm với 2 đối số sau đó bạn sẽ gọi hàm trong 2 trường hợp: một là gọi hàm đó với 1 tham số, hai là gọi hàm đó với 2 tham số và tham số thứ 2 là một đối tượng, ở đây bạn sẽ sử dụng arguments để kiểm tra xem hàm có bao nhiêu đối số:
Mã:
function sendMessage( msg, obj ) {
// Nếu có 2 đối số
if ( arguments.length == 2 )
  // gọi phương thức của đối tượng là đối số thứ 2
  obj.handleMsg( msg );
else
  alert( msg );
}
// Gọi hàm với một tham số
sendMessage( "Hello, World!" );

// Gọi hàm với tham số thứ 2 là một đối tượng có phương thức handleMsg
sendMessage( "How are you?", {
   handleMsg: function( msg ) {
     alert( "This is a custom message: " + msg );
  }
});

Ví dụ thứ 2 rõ ràng hơn, chúng ta sẽ truy cập arguments và gán các phần tử của nó vào một mảng đúng nghĩa:
Mã:
function makeArray() {
  var arr = [];
  // Lặp các phần tử trong arguments và đưa vào mảng arr
  for ( var i = 0; i < arguments.length; i++ ) {
    arr.push( arguments[i] );
  }
  return arr;
}
var myarr = makeArray('one','two');

// Kiểm tra mảng trả về từ hàm makeArray
for(var i=0; i<myarr.length; i++){
  document.write(myarr[i] +'<br />');
}

Chúc các bạn thành công.


Nguồn: sothichweb.com​
 

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mobile/Zalo: 0906081284

Telegram: anhanhxf

Chỉ nhận web nội dung lành mạnh

Nhà Tài Trợ

Mút Xốp Không Gian
Mút Sofa Không Gian
Top Bottom