Hướng dẫn how do you subtract a variable in javascript? - làm thế nào để bạn trừ một biến trong javascript?

1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang làm việc trên một trò chơi đơn giản và tôi đã nhận được mã hóa nó để khi bạn nhấp vào nút tấn công, nó sẽ tạo ra một số ngẫu nhiên dựa trên cơ sở và sức mạnh sau đó trừ đi khỏi sức khỏe của kẻ thù dường như không hoạt động. Nó luôn luôn xuất ra NaN.


    


        
        
playerhealth
enemyhealth

You Did:damage

Nó có thể có liên quan đến việc không đảm bảo rằng họ là số nguyên nhưng tôi không chắc làm thế nào để làm điều đó.

Hướng dẫn how do you subtract a variable in javascript? - làm thế nào để bạn trừ một biến trong javascript?

Igor

32.3K14 Huy hiệu vàng76 Huy hiệu bạc111 Huy hiệu đồng14 gold badges76 silver badges111 bronze badges

Đã hỏi ngày 3 tháng 11 năm 2011 lúc 0:34Nov 3, 2011 at 0:34

Bởi vì bạn xác định lại kẻ thù var bên trong chức năng Hitenemy. Loại bỏ VAR để sửa nó.

 function hitEnemy(){
        var attack=Math.floor(Math.random()*20 + strength);
        enemyHealth = enemyHealth - attack;
        document.getElementById('damage').innerHTML = attack;   
        document.getElementById('enemyhealth').innerHTML = enemyHealth;
        }

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 0:40Nov 3, 2011 at 0:40

Heisthedonheisthedonheisthedon

3.6023 Huy hiệu vàng20 Huy hiệu bạc24 Huy hiệu đồng3 gold badges20 silver badges24 bronze badges

Đây là vấn đề ngay lập tức nhất. Bạn cần loại bỏ var khỏi sự phân rã enemyHealth bên trong hitEnemy. Điều này tạo ra một biến mới có tên enemyHealth intSead của việc sửa đổi biến số đầu tiên.

enemyHealth = enemyHealth - parseFloat(attack);

Ngoài ra, bạn nên gọi

 function hitEnemy(){
        var attack=Math.floor(Math.random()*20 + strength);
        enemyHealth = enemyHealth - attack;
        document.getElementById('damage').innerHTML = attack;   
        document.getElementById('enemyhealth').innerHTML = enemyHealth;
        }
0 vào cuối mỗi cuộc gọi hitEnemy để cập nhật điểm số. Đây là phiên bản hoạt động của mã

  • http://jsfiddle.net/YbCay/

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 0:37Nov 3, 2011 at 0:37

JaredparjaredparJaredPar

714K146 Huy hiệu vàng1218 Huy hiệu bạc1442 Huy hiệu đồng146 gold badges1218 silver badges1442 bronze badges

1

Để thêm vào phản hồi của Jared ...

var enemyHealth = enemyHealth - attack;

là tốc ký cho ...

var enemyHealth;
enemyHealth = enemyHealth - attack;

Đầu tiên, enemyHealth được định nghĩa là ________ 13* trong phạm vi hitEnemy. Bây giờ, hai biến có tên enemyHealth tồn tại, nhưng "Bóng bên trong" Biến bên ngoài, khiến nó không thể đề cập đến loại bên ngoài. Vì vậy,

 function hitEnemy(){
        var attack=Math.floor(Math.random()*20 + strength);
        enemyHealth = enemyHealth - attack;
        document.getElementById('damage').innerHTML = attack;   
        document.getElementById('enemyhealth').innerHTML = enemyHealth;
        }
6 được trừ đi từ
 function hitEnemy(){
        var attack=Math.floor(Math.random()*20 + strength);
        enemyHealth = enemyHealth - attack;
        document.getElementById('damage').innerHTML = attack;   
        document.getElementById('enemyhealth').innerHTML = enemyHealth;
        }
3, sản xuất NaN.

* nghe có vẻ vô nghĩa, tôi biết

Đã trả lời ngày 3 tháng 11 năm 2011 lúc 2:03Nov 3, 2011 at 2:03

Davidchambersdavidchambersdavidchambers

23.1K16 Huy hiệu vàng74 Huy hiệu bạc102 Huy hiệu đồng16 gold badges74 silver badges102 bronze badges

Có phải là + = hoặc = + trong JavaScript?

Cú pháp chính xác là A+= B;a =+b;không đúng.Nó chỉ đơn giản là gán giá trị b cho a.a+=b; a=+b; is not correct. it is simply assigning b value to a.

+= Làm gì trong javascript?

Toán tử gán bổ sung ( +=) thêm giá trị của toán hạng bên phải vào một biến và gán kết quả cho biến.Các loại của hai toán hạng xác định hành vi của toán tử gán bổ sung.adds the value of the right operand to a variable and assigns the result to the variable. The types of the two operands determine the behavior of the addition assignment operator.

Quá trình trừ đi giá trị trung bình của mỗi biến từ biến của nó được gọi là gì?

Quá trình trừ đi giá trị trung bình của mỗi biến từ biến của nó được gọi là gì?Bình thường hóa có nghĩa - đúng.Đối với các tham số khác nhau của hàm giả thuyết, chúng ta có cùng chức năng giả thuyết.Mean Normalization — Correct. For different parameters of the hypothesis function we get the same hypothesis function.