Chúng ta có thể gọi hàm được viết trong một tệp JS trong một tệp JS khác không? Bất cứ ai có thể giúp tôi làm thế nào để gọi chức năng từ một tập tin JS?Chúng ta có thể gọi hàm được viết bằng một JavaScript trong một tệp JS khác không?
Trả lời
Chức năng có thể được gọi như thể nó là trong cùng một Tệp JS miễn là tệp chứa định nghĩa của hàm đã được tải trước khi sử dụng hàm đầu tiên.
I.e.
File1.js
function alertNumber(number) {
alert(number);
}
File2.js
function alertOne() {
alertNumber("one");
}
HTML
<head>
....
<script src="File1.js" type="text/javascript"></script>
<script src="File2.js" type="text/javascript"></script>
....
</head>
<body>
....
<script type="text/javascript">
alertOne();
</script>
....
</body>
Một cách khác sẽ không hoạt động. Như được chỉ ra chính xác bởi Stuart Wakefield. Cách khác cũng sẽ hoạt động.
HTML
<head>
....
<script src="File2.js" type="text/javascript"></script>
<script src="File1.js" type="text/javascript"></script>
....
</head>
<body>
....
<script type="text/javascript">
alertOne();
</script>
....
</body>
gì sẽ không làm việc sẽ là:
HTML
<head>
....
<script src="File2.js" type="text/javascript"></script>
<script type="text/javascript">
alertOne();
</script>
<script src="File1.js" type="text/javascript"></script>
....
</head>
<body>
....
</body>
Như mặc dù alertOne
được định nghĩa khi gọi nó, nội nó sử dụng một chức năng mà vẫn chưa được xác định (alertNumber
).
Miễn là cả hai đều được tham chiếu bởi trang web, có.
Bạn chỉ cần gọi các hàm như thể chúng nằm trong cùng một tệp JS.
có bạn có thể. bạn cần phải tham khảo cả JS file
vào trang .aspx
<script language="javascript" type="text/javascript" src="JScript1.js">
</script>
<script language="javascript" type="text/javascript" src="JScript2.js">
</script>
JScript1.js
function ani1() {
alert("1");
ani2();
}
JScript2.js
function ani2() {
alert("2");
}
Nếu tất cả các file được đưa vào, bạn có thể gọi bất động sản từ một tập tin để khác (như chức năng, thay đổi, đối tượng, vv)
Các js chức năng và các biến mà bạn viết trong một tập tin .js - nói a.js sẽ có sẵn cho các file js khác - nói b.js như miễn là cả hai a.js và b.js có trong tập tin sử dụng cơ chế sau đây bao gồm (và trong số cùng một đơn đặt hàng nếu hàm trong b.js gọi hàm trong a.js).
<script language="javascript" src="a.js"> and
<script language="javascript" src="b.js">
Câu trả lời ở trên có giả định không chính xác rằng thứ tự bao gồm các tệp quan trọng. Vì hàm alertNumber không được gọi cho đến khi hàm alertOne được gọi. Chừng nào cả hai tệp nào được đưa vào thời điểm alertOne được gọi là thứ tự của các file không quan trọng:
[HTML]
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">
alertOne();
</script>
[JS]
// File1.js
function alertNumber(n) {
alert(n);
};
// File2.js
function alertOne() {
alertNumber("one");
};
// Inline
alertOne(); // No errors
Hoặc nó có thể được đặt hàng như sau:
[HTML]
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript">
alertOne();
</script>
[JS]
// File2.js
function alertOne() {
alertNumber("one");
};
// File1.js
function alertNumber(n) {
alert(n);
};
// Inline
alertOne(); // No errors
Nhưng nếu bạn đã làm điều này:
[HTML]
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">
alertOne();
</script>
<script type="text/javascript" src="file1.js"></script>
[JS]
// File2.js
function alertOne() {
alertNumber("one");
};
// Inline
alertOne(); // Error: alertNumber is not defined
// File1.js
function alertNumber(n) {
alert(n);
};
Nó chỉ các vấn đề về biến và các chức năng có sẵn tại thời điểm thực hiện. Khi một hàm được định nghĩa, nó không thực hiện hoặc giải quyết bất kỳ biến nào được khai báo bên trong cho đến khi hàm đó sau đó được gọi.
Bao gồm các tập tin kịch bản khác nhau là không khác so với kịch bản là theo thứ tự mà trong cùng một tập tin, ngoại trừ kịch bản chậm:
<script type="text/javascript" src="myscript.js" defer="defer"></script>
sau đó bạn cần phải cẩn thận.
Bạn có thể gọi hàm được tạo ra trong một file js từ tập tin bạn đang làm việc. Vì vậy, đối này trước hết bạn cần phải thêm file js bên ngoài vào tài liệu html như-
<html>
<head>
<script type="text/javascript" src='path/to/external/js'></script>
</head>
<body>
........
Chức năng định nghĩa ở bên ngoài javascript tập tin -
$.fn.yourFunctionName = function(){
alert('function called succesfully for - ' + $(this).html());
}
Để gọi chức năng này trong tập tin hiện tại của bạn, chỉ cần gọi hàm như -
......
<script type="text/javascript">
$(function(){
$('#element').yourFunctionName();
});
</script>
Nếu bạn muốn vượt qua các tham số cho hàm, sau đó xác định chức năng như-
$.fn.functionWithParameters = function(parameter1, parameter2){
alert('Parameters passed are - ' + parameter1 + ' , ' + parameter2);
}
Và gọi hàm này trong tập tin hiện tại của bạn là -
$('#element').functionWithParameters('some parameter', 'another parameter');
- 1. Tệp .js có thể "bao gồm" một tệp .js khác
- 2. Chúng ta có thể tiêm thêm một số dòng trong một hàm bằng cách mở rộng nó bằng PHP không?
- 3. Làm thế nào chúng ta có thể gọi một hàm với "parameter = value" trong C++?
- 4. Cách gọi hàm được viết trong tệp javascript từ C# bằng cách sử dụng IronJS
- 5. Chúng ta có thể viết macro trong C# cho Excel
- 6. Chúng ta có thể định nghĩa một hàm mẫu cho một số kiểu dữ liệu không?
- 7. Tại sao chúng ta không nên gọi phương thức công khai từ một công chúng khác?
- 8. Tại sao chúng ta không được phép chỉ định một hàm tạo trong một giao diện?
- 9. Chúng ta có thể gọi một servlet mà không <servlet-mapping> trong mục web.xml
- 10. Sự kiện được gọi hàm trong JS?
- 11. cách gọi hàm từ một tệp khác?
- 12. Chúng ta có thể tạo một bản sao thông minh bằng Python không?
- 13. Chúng ta có một autochomp trong Perl?
- 14. gọi phương thức javascript trong tệp .js khác
- 15. Chúng ta có nên sử dụng tên dài hoặc viết tắt trong mã hóa JavaScript không?
- 16. Làm thế nào tôi có thể viết một hàm C chung để gọi một hàm Win32?
- 17. Chúng ta có thể gọi FreeLibrary từ ExitInstance
- 18. chúng ta có thể sử dụng một số làm nút văn bản trong tệp XML không?
- 19. Chúng ta có thể có 2 DLL cùng tên đang được nạp trong một quá trình
- 20. Cách gọi một hàm từ một tệp lớp khác
- 21. Có thể constructor gọi một hàm tạo khác trong C++?
- 22. Làm thế nào chúng ta có thể biết tên của hàm người gọi?
- 23. Tại sao chúng ta có bao đóng trong JavaScript?
- 24. Chúng ta có thể tạo một hàm tạo bản sao lớp ảo trong C++
- 25. Chúng ta có thể tạo một thể hiện của một giao diện trong Java không?
- 26. Chúng ta có thể khai báo biến toàn cục trong tệp QML không?
- 27. JavaScript IF/ELSE để gọi một JS Script khác?
- 28. Chúng ta có thể gọi phương thức của Controller từ một khung nhìn (như chúng ta gọi từ helper lý tưởng) không?
- 29. Chúng ta có nên viết bình luận rộng rãi không?
- 30. Có thể viết trên trình xử lý Focus/lostFocus cho DIV bằng JS hay jQuery không?
Tương tự như vậy với quá ít –
Điều này có thể âm thanh nitpicking nhưng bao gồm không chính xác giống như kịch bản nối. Hãy xem xét script1: 'function myfunction() {' và script2: 'alert();}' Nó sẽ không hoạt động. Nó làm phiền tôi vì tôi đã cố gắng mô đun hóa một tệp js quá dài. Xem http: // stackoverflow.com/questions/20311604/module-pattern-how-to-split-the-code-cho-một-mô-đun-thành-khác-js-files/20311661? noredirect = 1 # 20311661 – Boyang
Chức năng này sẽ chia sẻ ngữ cảnh 'này' , nếu một trong những chức năng là trong một lớp học? – aks