Tôi đang thực hiện một số cảnh quay rắc rối và muốn thêm kiểm tra xem tham số vào hàm là một số. Làm thế nào để tôi làm điều này?
Một cái gì đó như thế này ...
function fn[id] {
return // true iff id is a number else false
}
Thậm chí tốt hơn là nếu tôi có thể kiểm tra xem tham số là một số và số nguyên hợp lệ.
Đã hỏi ngày 22 tháng 6 năm 2011 lúc 14:41Jun 22, 2011 at 14:41
Steve McLeodsteve McLeodSteve McLeod
51.1K46 Huy hiệu vàng123 Huy hiệu bạc181 Huy hiệu Đồng46 gold badges123 silver badges181 bronze badges
1
function fn[id] {
return typeof[id] === 'number';
}
Để kiểm tra xem nó có phải là một số nguyên không:
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
Đã trả lời ngày 22 tháng 6 năm 2011 lúc 14:43Jun 22, 2011 at 14:43
Daniel Cassidydaniel CassidyDaniel Cassidy
Huy hiệu vàng 24K541 Huy hiệu bạc53 Huy hiệu đồng5 gold badges41 silver badges53 bronze badges
0
tôi sẽ nói
n === parseInt[n]
Là đủ. Lưu ý ba '===' - Nó kiểm tra cả loại và giá trị
Đã trả lời ngày 22 tháng 6 năm 2011 lúc 15:16Jun 22, 2011 at 15:16
user187291user187291user187291
52,8K19 Huy hiệu vàng94 Huy hiệu bạc127 Huy hiệu đồng19 gold badges94 silver badges127 bronze badges
1
Kiểm tra xem loại là số và liệu đó có phải là INT sử dụng
function fn[id] {
return typeof[id] === 'number';
}
3:function fn[id] {
return typeof[id] === 'number';
}
4Đã trả lời ngày 22 tháng 6 năm 2011 lúc 14:43Jun 22, 2011 at 14:43
Daniel Cassidydaniel Cassidy
Huy hiệu vàng 24K541 Huy hiệu bạc53 Huy hiệu đồng
var intRegex = /^\d+$/;
if[intRegex.test[num1]] {
//num1 is a valid integer
}
tôi sẽ nói == vs. ===
Là đủ. Lưu ý ba '===' - Nó kiểm tra cả loại và giá trịNov 19, 2012 at 7:01
Đã trả lời ngày 22 tháng 6 năm 2011 lúc 15:16GaurabDahal
52,8K19 Huy hiệu vàng94 Huy hiệu bạc127 Huy hiệu đồng6 silver badges16 bronze badges
function fn[id]{
if[[parseFloat[id] == parseInt[id]] && !isNaN[id]]{
return true;
} else {
return false;
}
}
Kiểm tra xem loại là số và liệu đó có phải là INT sử dụng
function fn[id] {
return typeof[id] === 'number';
}
3:Jun 22, 2011 at 14:44
=== có nghĩa là hoàn toàn bằng và == Kiểm tra xem các giá trị có bằng nhau không. Điều đó có nghĩa là "2" == 2 là đúng nhưng "2" === 2 là sai.thescientist
Sử dụng biểu thức chính quy1 gold badge19 silver badges15 bronze badges
function fn[id] {
var x = /^[\+|-]?\d+$/;
if [x.test[id]] {
//integer
return true;
}
else {
//not an integer
return false;
}
}
Ví dụ về == so với ===
Đã trả lời ngày 19 tháng 11 năm 2012 lúc 7:01Jun 22, 2011 at 14:54
Gaurabdahalgaurabdahalkei
8666 Huy hiệu bạc16 Huy hiệu Đồng2 gold badges34 silver badges61 bronze badges
0
Tôi đã xây dựng một hình thức vào một ngày khác trong VUE và tôi phải viết xác thực số cho trường nên phải viết logic để kiểm tra xem giá trị đầu vào có phải là số hay không. Tôi muốn liệt kê một vài cách tôi học được có thể hữu ích cho người khác.
Lưu ý: Trong JavaScript, các giá trị đặc biệt như
5,function fn[id] { return typeof[id] === 'number'; }
6 vàfunction fn[id] { return typeof[id] === 'number'; }
7 cũng là số - mặc dù, chúng tôi sẽ bỏ qua các giá trị đó. In JavaScript, special values likefunction fn[id] { return typeof[id] === 'number'; }
5,function fn[id] { return typeof[id] === 'number'; }
6 andfunction fn[id] { return typeof[id] === 'number'; }
7 are numbers too - though, we'll be ignoring those values.function fn[id] { return typeof[id] === 'number'; }
1] Sử dụng isnan []
function fn[id] {
return typeof[id] === 'number';
}
8 xác định liệu một giá trị có phải là function fn[id] {
return typeof[id] === 'number';
}
5 hay không. Chúng ta có thể tận dụng điều này để xác định xem một biến có phải là loại số hay không.var numberOfpushUpsToday = 34;
if[!isNaN[numberOfpushUpsToday]]{
console.log['It is a number']
}
else {
console.log['It is not a number']
}
Nhập chế độ FullScreenen EXIT Mode FullScreen
!isNaN[34] // returns true
!isNaN['34'] // returns true
!isNaN['Hello'] // returns false
!isNaN[true] // returns true
!isNaN[false] // returns true
!isNaN['undefined'] // returns false
Nhập chế độ FullScreenen EXIT Mode FullScreen
Hạn chế:
1] Nó trả về
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
0 cho các giá trị boolean vì các giá trị boolean được chuyển đổi thành các số function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
1 và function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
2 theo đó đôi khi nó sẽ gây hiểu lầm. 2] Chúng tôi cũng có vấn đề tương tự cho giá trị function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
3. Nó trả về đúng và do đó người ta phải cẩn thận trong khi viết mã.2] We have same issue for the
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
3 value as well. It returns true and hence one has to be careful while writing the code.2] Sử dụng typeof []
Toán tử
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
4 trả về một chuỗi chỉ ra loại của toán hạng không được đánh giá.num = 45
strng = '34'
typeof num // returns 'number'
typeof strng // returns "string"
typeof undefined // returns "undefined"
typeof null // returns "object"
Nhập chế độ FullScreenen EXIT Mode FullScreen
Nếu biến là số loại, nó sẽ trả về chuỗi
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
5. Chúng ta có thể sử dụng điều này để xác định xem biến là loại số.function fn[id] {
return typeof[id] === 'number';
}
0Nhập chế độ FullScreenen EXIT Mode FullScreen
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
6 hoạt động tốt hơn nhiều so với function fn[id] {
return typeof[id] === 'number';
}
8. Nó xác định chính xác rằng một biến chuỗi, giá trị null và boolean không phải là số.3] Sử dụng số.isfinite []
Hàm
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
8 xác định xem giá trị truyền có hữu hạn hay không. Các đối số trước tiên được chuyển đổi thành các số và sau đó kiểm tra xem giá trị là hữu hạn và do đó đây là cách tốt nhất trong số tất cả các phương pháp được đề cập ở trên.function fn[id] {
return typeof[id] === 'number';
}
1Nhập chế độ FullScreenen EXIT Mode FullScreen
function fn[id] {
return typeof[id] === 'number';
}
2Nhập chế độ FullScreenen EXIT Mode FullScreen
Sự kết luận:
Mặc dù các phương pháp này có thể trở nên khó khăn với các giá trị Boolean,
function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
9 và function fn[id] {
return typeof[id] === 'number' &&
isFinite[id] &&
Math.round[id] === id;
}
3, nhưng chúng rất hữu ích trong việc giải quyết một số vấn đề trong cuộc sống hàng ngày. Người ta chỉ cần cẩn thận trong khi viết mã theo nhu cầu của họ.Và điều đó tổng hợp nó lên !!! Cảm ơn bạn .. Nhận xét dưới đây nếu bạn có bất kỳ phản hồi hoặc suy nghĩ.
Thank you..
Comment below if you have any feedback or thoughts.