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]];
10function 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]];
3Giả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]];
10function 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]];
1Giả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]];
10function 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