Làm cách nào để kiểm tra loại đối số trong JavaScript?

Ghi chú. Có sáu giá trị có thể mà typeof trả về. đối tượng, boolean, hàm, số, chuỗi và không xác định

Giải pháp mẫu. -

Mã HTML





Detect JavaScript Data Types


  



Mã JavaScript

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

Đầu ra mẫu

number
string
boolean

Sơ đồ


Bản thử trực tiếp

Xem JavaScript Bút -Kiểm tra một số có phải là số nguyên tố hay không-hàm-ex- 8 của w3resource [@w3resource] trên CodePen


Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus

Trước. Viết hàm JavaScript chấp nhận một số làm tham số và kiểm tra số đó có phải là số nguyên tố hay không.
Tiếp theo. Viết hàm JavaScript trả về ma trận nhận dạng n hàng theo n cột.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



JavaScript. Lời khuyên trong ngày

Rút ngắn điều kiện với giá trị falsy

Trong JavaScript, có nhiều giá trị tương đương với false trên nhiều loại biến. Điêu nay bao gôm

Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về đối tượng đối số trong JavaScript. Giống như đối tượng đối số trong JavaScript là gì và sau đó chúng ta sẽ thảo luận về một số chương trình sử dụng đối tượng đối số

Chúng ta sẽ thảo luận về những điểm sau

  • Đối số trong JavaScript là gì?
  • Các chương trình liên quan đến đối tượng đối số

Các đối số là một đối tượng cục bộ của một hàm. Bạn có thể coi nó như một biến cục bộ có sẵn với tất cả các hàm theo mặc định ngoại trừ các hàm mũi tên trong JavaScript.  

Đối tượng này [đối số] được sử dụng để truy cập tham số được truyền cho hàm. Nó chỉ có sẵn trong một chức năng. Chúng tôi không thể truy cập nó bên ngoài chức năng. Đối tượng đối số cho phép bạn truy cập tất cả các đối số được truyền cho một hàm. Chúng ta có thể truy cập các đối số này bằng cách sử dụng các chỉ mục

Ví dụ. Hãy hiểu các đối số với một ví dụ đơn giản

Javascript




arguments[0]
8

arguments[0]
9
arguments[0]
0
arguments[0]
1

arguments[0]
2____33

arguments[0]
9
arguments[0]
5

arguments[0]
6

arguments[0]
9
arguments[0]
8
arguments[0]
9
function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

10

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

11

đầu ra.  

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

3

Giải trình. Trong ví dụ này, chúng tôi đang chuyển “GFG” làm tham số cho hàm hello[]. Như chúng ta biết, chúng ta có thể truy cập tham số được truyền cho hàm bằng cách sử dụng đối tượng đối số với sự trợ giúp của chỉ mục. Nó tương tự như việc truy cập các phần tử mảng bằng cách sử dụng các chỉ mục

Vì chúng ta chỉ truyền một tham số cho hàm hello[] nên tham số này sẽ được đặt ở chỉ mục 0. Chúng ta có thể truy cập nó bằng cú pháp sau

arguments[0]

Ví dụ. Xem xét ví dụ sau

Javascript




arguments[0]
8

arguments[0]
9
arguments[0]
0
arguments[0]
1

arguments[0]
2____117

arguments[0]
9
arguments[0]
5

arguments[0]
6

arguments[0]
9
arguments[0]
8
arguments[0]
9
function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

10

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

11

đầu ra.   

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

1

Giải trình. Đầu ra của ví dụ trên không được xác định bởi vì chúng ta chỉ truyền một tham số cho hàm hello[] sẽ nằm ở chỉ mục thứ 0. Nhưng ở đây chúng tôi đang truy cập đối số [1] không khả dụng. Vì vậy, nó cho đầu ra là không xác định.  

Ví dụ. Để xử lý tình trạng trên, chúng ta cần truyền 2 tham số cho hàm hello[] thì hàm mới cho kết quả chính xác

Javascript




arguments[0]
8

arguments[0]
9
arguments[0]
0
arguments[0]
1

arguments[0]
2____117

arguments[0]
9
arguments[0]
5

arguments[0]
6

arguments[0]
9
arguments[0]
8
arguments[0]
9
arguments[0]
48
arguments[0]
49
function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

10

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

11

đầu ra

arguments[0]
8

Ví dụ. Các chương trình sử dụng đối tượng đối số

Javascript




arguments[0]
8

________ 59 ________ 394 ________ 395

arguments[0]
9
arguments[0]
94
arguments[0]
98

_______59____430

arguments[0]
6

arguments[0]
9
arguments[0]
0
arguments[0]
34

arguments[0]
2____394
arguments[0]
37

arguments[0]
2____439
arguments[0]
20

arguments[0]
9
arguments[0]
5

arguments[0]
6

arguments[0]
9
arguments[0]
25

function detect_data_type[value]
{
var dtypes = [Function, RegExp, Number, String, Boolean, Object], x, len;
    
if [typeof value === "object" || typeof value === "function"] 
    {
     for [x = 0, len = dtypes.length; x < len; x++] 
     {
            if [value instanceof dtypes[x]]
            {
                return dtypes[x];
            }
      }
    }
    
    return typeof value;
}
console.log[detect_data_type[12]];
console.log[detect_data_type['w3resource']];
console.log[detect_data_type[false]];

11

đầu ra

arguments[0]
4

Giải trình. Hầu hết các sinh viên sẽ nghĩ rằng đầu ra phải là 4. Bởi vì chúng ta đang chuyển n=3 làm tham số cho hàm func và đối số [0] = 1 vì tại chỉ mục thứ 0 của mảng đối số, chúng ta có 1. Vậy kết quả sẽ là [3+1] = 4. Nhưng đây không phải là một đầu ra chính xác. Đầu ra đúng là 6. Như chúng ta đã thảo luận trước đó, đối tượng đối số là cục bộ của một hàm được sử dụng để truy cập các tham số được truyền cho nó

Vì chúng tôi đang chuyển n=3 làm tham số. Vì vậy, bên trong đối tượng đối số, chúng ta chỉ có một biến duy nhất là 3. Và n=3 vì chúng ta đang chuyển giá trị 3 cho hàm func. Vì vậy, đối số [0] = 3 [đối số này không nằm ngoài mảng, nhưng nó là đối tượng đối số cục bộ cho bất kỳ hàm không mũi tên nào] và n = 3

Làm cách nào để kiểm tra kiểu dữ liệu trong JavaScript?

typeof. Từ khóa typeof giúp xác định loại biến trong Javascript . Vì Javascript là ngôn ngữ lập trình được nhập động, nên có thể sử dụng typeof để tìm loại biến. Nó có thể được sử dụng trong một hàm để kiểm tra kiểu dữ liệu của một biến hoặc để kiểm tra xem một biến có được khai báo hay không.

Làm cách nào để kiểm tra loại đối tượng trong JavaScript?

Sử dụng toán tử typeof để lấy loại đối tượng hoặc biến trong JavaScript . Toán tử typeof cũng trả về loại đối tượng được tạo bằng từ khóa "new". Như bạn có thể thấy trong ví dụ trên, toán tử typeof trả về các kiểu khác nhau cho một chuỗi ký tự và một đối tượng chuỗi.

Loại đối số bên trong hàm JavaScript là gì?

Đối tượng đối số arguments object là một biến cục bộ có sẵn trong tất cả các hàm không phải mũi tên. Bạn có thể tham khảo đối số của hàm bên trong hàm đó bằng cách sử dụng đối tượng đối số của nó. Nó có các mục cho mỗi đối số mà hàm được gọi, với chỉ mục của mục đầu tiên là 0.

Làm cách nào bạn có thể lấy loại đối số được truyền cho một hàm trong JavaScript?

Có hai cách để truyền đối số cho hàm. theo tham chiếu hoặc theo giá trị . Việc sửa đổi một đối số được truyền theo tham chiếu được phản ánh trên toàn bộ nhưng việc sửa đổi một đối số được truyền theo giá trị chỉ được phản ánh bên trong hàm.

Chủ Đề