Tôi có mã này trong JavaScript: SolarPanels = parseInt(lRemainingWidth / (panel_width + ( 2 * lPanelInterSpace)));
Và sau đó tôi cảnh báo giá trị alert("SolarPanels "+SolarPanels);
3 cho alert("SolarPanels "+SolarPanels);
4 làm đầu ra,alert("SolarPanels "+SolarPanels);
Dòng 1 này là một phần nhỏ của tính toán lớn, nhưng mã của tôi dường như thất bại ở đây, với việc sử dụng các cảnh báo, tôi đã đọc các giá trị của alert("SolarPanels "+SolarPanels);
3, alert("SolarPanels "+SolarPanels);
6, alert("SolarPanels "+SolarPanels);
7 và alert("SolarPanels "+SolarPanels);
8 như sau:lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
Tôi nghĩ rằng nó phải làm với 2 chấm trong alert("SolarPanels "+SolarPanels);
6, dù bằng cách nào, tôi không biết làm thế nào để sửa nó. Tại sao alert("SolarPanels "+SolarPanels);
6 có 2 chấm?
Cập nhật : Đây là phần tính toán độ rộng của Lremained: if(HalforDouble === "Yes")
{
lRemainingWidth = (roof_ridge /2) + ((lRemainingHeight / Math.tan((lRoofEdgeDegrees * Math.PI) / 180)) - lRoofEdge);
}
else
{
lRemainingWidth = roof_ridge + (2 * ((lRemainingHeight / Math.tan((lRoofEdgeDegrees * Math.PI) / 180)) - lRoofEdge));
}
Các giá trị ở đây là: lRemainingWidth = 0
roof_ridge = 17
lRemainingHeight = 20.769000000000002
lRoofEdgeDegrees = 83.5169263071276
lRoofEdge = 0.2
Xem thảo luận Cải thiện bài viết Lưu bài viết ĐọcBàn luậnXem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luận The isNan() method is used to check the given number is NaN or not. If isNaN() returns true for “number” then it assigns the value 0. - Example:
lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
1lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
3NAN (không phải là một số) thường được sử dụng để chỉ ra một điều kiện lỗi cho một hàm sẽ trả về một số hợp lệ nhưng nó có thể được chuyển đổi thành 0 bằng cách sử dụng JavaScript. Trong bài viết này, chúng tôi sẽ chuyển đổi NAN thành 0. lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
8lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
9 - Output:
0 0
Sử dụng phương thức isnan (): Phương thức isnan () được sử dụng để kiểm tra số đã cho là nan hay không. Nếu isnan () trả về true cho số số thì thì nó gán giá trị 0. If “number” is any falsey value, it will be assigned to 0. - Example:
lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
1lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
3lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2 if(HalforDouble === "Yes")
{
lRemainingWidth = (roof_ridge /2) + ((lRemainingHeight / Math.tan((lRoofEdgeDegrees * Math.PI) / 180)) - lRoofEdge);
}
else
{
lRemainingWidth = roof_ridge + (2 * ((lRemainingHeight / Math.tan((lRoofEdgeDegrees * Math.PI) / 180)) - lRoofEdge));
}
4lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
8lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
9 - Output:
0 0
lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
5 lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
6 Here number is checked via ternary operator, similar to 1, if NaN it converts to 0.
- Example:
lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
1lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
3lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingWidth = 0
roof_ridge = 17
lRemainingHeight = 20.769000000000002
lRoofEdgeDegrees = 83.5169263071276
lRoofEdge = 0.2
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
2lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
8lRemainingwidth = 17.4.320227272727276
SolarPanels = 0
panel_width = 1.65
lPanelInterSpace = 0.02
9 - Output:
0 0
Lưu ý: Trong khi thực thi mã trên IDE hoặc trên trình duyệt của chúng tôi, hãy kiểm tra bảng điều khiển (F12) để xem kết quả. While executing the code on our IDE or on your browser, check console (F12) to see the result. Thuộc tính toàn cầu alert("SolarPanels "+SolarPanels);
4 là một giá trị đại diện cho không phải là một số.alert("SolarPanels "+SolarPanels);
4 property is a value representing Not-A-Number.
Sự mô tảalert("SolarPanels "+SolarPanels);
4 là một tài sản của đối tượng toàn cầu. Nói cách khác, nó là một biến trong phạm vi toàn cầu.Giá trị ban đầu của alert("SolarPanels "+SolarPanels);
4 không phải là một số-giống như giá trị của lRemainingWidth = 0
roof_ridge = 17
lRemainingHeight = 20.769000000000002
lRoofEdgeDegrees = 83.5169263071276
lRoofEdge = 0.2
9. Trong các trình duyệt hiện đại, alert("SolarPanels "+SolarPanels);
4 là một tài sản không thể cấu hình, không có thể đi được. Ngay cả khi điều này không phải là trường hợp, tránh ghi đè nó. Nó là khá hiếm khi sử dụng alert("SolarPanels "+SolarPanels);
4 trong một chương trình.Có năm loại hoạt động khác nhau trả về alert("SolarPanels "+SolarPanels);
4:alert("SolarPanels "+SolarPanels);
4 và các hành vi của nó không được phát minh bởi JavaScript. Ngữ nghĩa của nó trong số học điểm nổi (bao gồm cả 0 8) được chỉ định bởi IEEE 754. ________ 14 Hành vi của- Nếu
alert("SolarPanels "+SolarPanels);
4 có liên quan đến hoạt động toán học (nhưng không phải là hoạt động bitwise), kết quả thường là alert("SolarPanels "+SolarPanels);
4. (Xem ví dụ ngược bên dưới.) - Khi
alert("SolarPanels "+SolarPanels);
4 là một trong những toán hạng của bất kỳ so sánh quan hệ nào (0 3, 0 4, 0 5, 0 6), kết quả luôn là 0 7. alert("SolarPanels "+SolarPanels);
4 so sánh không đồng đều (thông qua 0 9, NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
0, NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
1 và NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
2) với bất kỳ giá trị nào khác - bao gồm cả giá trị alert("SolarPanels "+SolarPanels);
4 khác.
alert("SolarPanels "+SolarPanels);
4 cũng là một trong những giá trị giả mạo trong JavaScript.Thử nghiệm chống lại NANĐể cho biết nếu một giá trị là alert("SolarPanels "+SolarPanels);
4, hãy sử dụng NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
6 hoặc NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
7 để xác định rõ nhất liệu một giá trị là alert("SolarPanels "+SolarPanels);
4-hoặc, vì alert("SolarPanels "+SolarPanels);
4 là giá trị duy nhất so sánh không đồng đều với chính nó, bạn có thể thực hiện tự so sánh như isNaN("hello world"); // true
Number.isNaN("hello world"); // false
0.NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
Tuy nhiên, xin lưu ý sự khác biệt giữa NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
7 và NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
6: Cái trước sẽ trả lại isNaN("hello world"); // true
Number.isNaN("hello world"); // false
3 nếu giá trị hiện tại Hiện tại alert("SolarPanels "+SolarPanels);
4:isNaN("hello world"); // true
Number.isNaN("hello world"); // false
Vì lý do tương tự, việc sử dụng giá trị lớn sẽ gây ra lỗi với NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
7 chứ không phải với NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
6:alert("SolarPanels "+SolarPanels);
0Ngoài ra, một số phương thức mảng không thể tìm thấy alert("SolarPanels "+SolarPanels);
4, trong khi các phương thức khác có thể. Cụ thể, những cái tìm chỉ số (alert("SolarPanels "+SolarPanels);
01, alert("SolarPanels "+SolarPanels);
02) không thể tìm thấy alert("SolarPanels "+SolarPanels);
4, trong khi những cái tìm giá trị (alert("SolarPanels "+SolarPanels);
04) có thể:alert("SolarPanels "+SolarPanels);
1Để biết thêm thông tin về alert("SolarPanels "+SolarPanels);
4 và so sánh của nó, hãy xem so sánh và giống nhau bình đẳng.Giá trị nan khác biệt có thể quan sát đượcCó một động lực cho alert("SolarPanels "+SolarPanels);
4 không đồng đều với chính nó. Có thể tạo ra hai số điểm nổi với các biểu diễn nhị phân khác nhau nhưng cả hai đều là alert("SolarPanels "+SolarPanels);
4, bởi vì trong mã hóa IEEE 754, bất kỳ số điểm nổi nào với số mũ alert("SolarPanels "+SolarPanels);
08 và Mantissa khác không là alert("SolarPanels "+SolarPanels);
4. Trong JavaScript, bạn có thể thực hiện thao tác cấp độ bit bằng các mảng được đánh máy.alert("SolarPanels "+SolarPanels);
2Âm thầm thoát khỏi Nanalert("SolarPanels "+SolarPanels);
4 tuyên truyền thông qua các hoạt động toán học, do đó, thường đủ để kiểm tra alert("SolarPanels "+SolarPanels);
4 một lần khi kết thúc tính toán để phát hiện các điều kiện lỗi. Trường hợp duy nhất trong đó alert("SolarPanels "+SolarPanels);
4 được thoát khỏi âm thầm là khi sử dụng số mũ với số mũ là alert("SolarPanels "+SolarPanels);
13, ngay lập tức trả về alert("SolarPanels "+SolarPanels);
14 mà không kiểm tra giá trị của cơ sở.Thông số kỹ thuật
Sự chỉ rõ |
---|
Thông số kỹ thuật ngôn ngữ Ecmascript # sec-value-properies-of-the-global-expect-nan # sec-value-properties-of-the-global-object-nan
|
Tính tương thích của trình duyệt webBảng BCD chỉ tải trong trình duyệt
Làm cách nào để loại bỏ lỗi NAN?
Nan có nghĩa là không phải là một số, điều này là do bên trong chức năng khối lập phương của bạn, bạn không gọi hàm vuông, nhưng nhận được nội dung của nó.Thay đổi trả về x * vuông;với return x * vuông (x);Và nó nên hoạt động.Change return x * square; with return x * square(x); and it should work.
Điều gì gây ra lỗi NAN trong JavaScript?
Có năm loại hoạt động khác nhau trả về NAN: chuyển đổi số không thành công (ví dụ: các loại rõ ràng như ParseInt ("blabla"), số (không xác định) hoặc các hoạt động toán học như toán học.Số thực (ví dụ: Toán học.Failed number conversion (e.g. explicit ones like parseInt("blabla") , Number(undefined) , or implicit ones like Math. abs(undefined) ) Math operation where the result is not a real number (e.g. Math.
Nan có phải là lỗi trong JavaScript không?
NAN là một giá trị lỗi có nghĩa là không phải là một số.Tuy nhiên, JavaScript coi loại NAN là số.Infinity là một giá trị lớn đến mức không thể được thể hiện bằng các số JavaScript.. However, JavaScript considers the type of NaN to be number. Infinity is a value so big it can't be represented by JavaScript numbers.
JavaScript Nan có nghĩa là gì?
Trong JavaScript, Nan là viết tắt của "không phải là số".Trong JavaScript, NAN là một con số không phải là một số hợp pháp.Tài sản NAN toàn cầu giống như số.Not-a-Number". In JavaScript, NaN is a number that is not a legal number. The Global NaN property is the same as the Number. |