Hướng dẫn call function in class javascript - gọi hàm trong javascript lớp

Tôi đang cố gắng gọi hàm mymethod từ trong một đối tượng nhưng không có cú pháp nào bên dưới hoạt động. Phải có một lỗi thực sự rõ ràng dưới đây nhưng tôi không thể nhìn thấy nó.




   






Hướng dẫn call function in class javascript - gọi hàm trong javascript lớp

Haffax

5,8281 Huy hiệu vàng31 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge31 silver badges30 bronze badges

Hỏi ngày 22 tháng 8 năm 2010 lúc 11:44Aug 22, 2010 at 11:44

1

Có hai vấn đề chính

  1. Loại MIME là text/javascript, không phải text/jscript
  2. Bạn đang xác định phương thức sau khi bạn cố gắng gọi nóafter you try to call it

So:

  function MyObject() {
    this.MyMethod = function () {
      alert('It works');
    }
    this.MyMethod(); //should now work
  }

  var test = new MyObject();

Gnarf

104K25 Huy hiệu vàng125 Huy hiệu bạc160 Huy hiệu đồng25 gold badges125 silver badges160 bronze badges

Đã trả lời ngày 22 tháng 8 năm 2010 lúc 11:47Aug 22, 2010 at 11:47

QuentinentinQuentin

880K121 Huy hiệu vàng1179 Huy hiệu bạc1289 Huy hiệu đồng121 gold badges1179 silver badges1289 bronze badges

0

Bạn đã thực hiện cuộc gọi đến phương thức riêng bên trong hàm tạo của lớp JavaScript. Vào thời điểm đó, các chức năng chưa được khởi tạo

Nhưng nếu bạn khởi tạo đối tượng như vậy:

var test = new MyObject(); 

Và sau đó làm điều này:

test.myMethod();

nó sẽ hoạt động.

Đã trả lời ngày 22 tháng 8 năm 2010 lúc 11:57Aug 22, 2010 at 11:57

Guy Schallerguy Schallerguy schaller

4.6104 Huy hiệu vàng31 Huy hiệu bạc54 Huy hiệu đồng4 gold badges31 silver badges54 bronze badges

2 cách xác định chức năng cung cấp khả năng truy cập khác nhau

Đầu tiên, đặt nó là thuộc tính của hàm cha, như được thực hiện trong phiên bản "A" của tập lệnh của bạn bên dưới. Nếu bạn làm điều này, chức năng chỉ có thể sử dụng sau khi bạn đưa ra định nghĩa.after you give the definition.

Thứ hai, xác định hàm với cách tiếp cận cổ điển của "function functionName () {...}". Định nghĩa này trải qua "nâng", có nghĩa là chức năng sẽ có sẵn trong toàn bộ đối tượng cha, tức là ngay cả phía trên nơi nó được xác định. Bạn có thể thấy điều này trong phiên bản "B" trong mẫu dưới đây, dựa trên mã áp phích gốc. Cũng trên https://jsfiddle.net/dnl4j30u/


Đầu ra là

 It works B       (this works because the second definition gets hoisted)
 It works A
 It works B

Đã trả lời ngày 3 tháng 5 năm 2017 lúc 6:22May 3, 2017 at 6:22

EurekaeurekaEureka

3.53815 Huy hiệu bạc20 Huy hiệu đồng15 silver badges20 bronze badges

var MyObject = function MyObject() {
       this.MyMethod = function () {
         alert('It works');
       } }

var test = new MyObject(); test.MyMethod();

Trên đây sẽ làm. Hoặc bạn chỉ có thể tạo một hàm tạo và gọi phương thức này bên trong đó. Vì vậy, tại thời điểm tạo đối tượng, nó sẽ gọi đây là.mymethod ()

Đã trả lời ngày 11 tháng 5 năm 2016 lúc 9:30May 11, 2016 at 9:30

Hướng dẫn call function in class javascript - gọi hàm trong javascript lớp

binu.pybinu.pybinu.py

1.0372 huy hiệu vàng8 Huy hiệu bạc19 Huy hiệu đồng2 gold badges8 silver badges19 bronze badges

Tôi khá chắc chắn rằng bạn có thể xác định các phương thức ở bất cứ đâu trong tệp, ngay cả sau khi bạn gọi chúng, nhưng theo cách bạn đang xác định phương thức là lỗ hổng.

http://ejohn.org/apps/learn/#5

Lưu ý rằng nếu bạn xác định một biến có hàm ẩn danh vì giá trị của nó thì bạn không thể gọi hàm theo tên (vì nó không có). Thay vào đó bạn nên đặt tên nó bằng cách sử dụng quy ước

function nameOfTheFunction( arguments ) {
...
}

Tôi thấy liên kết sau đây sẽ rất hữu ích:

http://www.dustindiaz.com/javascript-function-declaration-ambiguity/

Đã trả lời ngày 7 tháng 11 năm 2010 lúc 4:46Nov 7, 2010 at 4:46

Sovasovasova

5.28010 Huy hiệu vàng40 Huy hiệu bạc48 Huy hiệu đồng10 gold badges40 silver badges48 bronze badges

1

Làm thế nào để bạn gọi một hàm bên trong một lớp trong javascript?

var test = new myObject (); và sau đó làm điều này: test.mymethod (); and then do this: test. myMethod();

Làm cách nào để gọi một chức năng trong JavaScript?

Gọi một hàm là một hàm: hàm myfunction (var) {return var;} myFunction (giá trị) ;.
Gọi một hàm như một phương thức: var myObject = {var: value, functionName: function () {return this.var;}} MyObject.Tên chức năng();.

Chúng ta có thể gọi chức năng trong chức năng trong JavaScript không?

Cách tiếp cận: Viết một chức năng bên trong một hàm khác.Thực hiện cuộc gọi đến hàm bên trong trong câu lệnh trả về của hàm bên ngoài.Gọi nó là niềm vui (a) (b) trong đó A là tham số ở bên ngoài và B là hàm bên trong.Make a call to the inner function in the return statement of the outer function. Call it fun(a)(b) where a is parameter to outer and b is to the inner function.

Một lớp có thể gọi một phương thức?

Phương pháp lớp là một phương pháp được chia sẻ giữa tất cả các đối tượng.Để gọi một phương thức lớp, hãy đặt lớp làm đối số đầu tiên.Các phương thức lớp có thể được gọi từ các trường hợp và từ chính lớp.Tất cả những người này sử dụng cùng một phương pháp.Class methods can be can be called from instances and from the class itself. All of these use the same method.