html引用外部含参的js,我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?...

我们可以在另一个JS文件中调用写在一个JS文件中的函数吗?任何人都可以帮我如何从另一个JS文件调用该函数?

答案

只要在第一次使用函数之前加载了包含函数定义的文件,就可以调用该函数,就像它在同一个JS文件中一样。

File1.js

function alertNumber(number) {

alert(number);

}

File2.js

function alertOne() {

alertNumber("one");

}

HTML

....

....

....

alertOne();

....

另一种方式是行不通的。

正如Stuart Wakefield正确指出的那样。另一种方式也可行。

HTML

....

....

....

alertOne();

....

什么是行不通的:

HTML

....

alertOne();

....

....

尽管在调用时定义了alertOne,但在内部它使用的函数仍未定义(alertNumber)。

另一答案

上面的答案有一个错误的假设,即包含文件的顺序很重要。因为在调用alertOne函数之前不会调用alertNumber函数。只要两个文件都包含在时间alertOne被调用,文件的顺序无关紧要:

[HTML]

alertOne( );

[JS]

// File1.js

function alertNumber( n ) {

alert( n );

};

// File2.js

function alertOne( ) {

alertNumber( "one" );

};

// Inline

alertOne( ); // No errors

或者可以像下面那样订购:

[HTML]

alertOne( );

[JS]

// File2.js

function alertOne( ) {

alertNumber( "one" );

};

// File1.js

function alertNumber( n ) {

alert( n );

};

// Inline

alertOne( ); // No errors

但如果你这样做:

[HTML]

alertOne( );

[JS]

// File2.js

function alertOne( ) {

alertNumber( "one" );

};

// Inline

alertOne( ); // Error: alertNumber is not defined

// File1.js

function alertNumber( n ) {

alert( n );

};

它只涉及执行时可用的变量和函数。定义函数时,它不执行或解析在该函数随后被调用之前声明的任何变量。

包含不同的脚本文件与在同一文件中按该顺序排列的脚本没有区别,但延迟脚本除外:

那你需要小心。

另一答案

只要两者都被网页引用,是的。

您只需调用函数,就好像它们位于同一个JS文件中一样。

另一答案

如果包含所有文件,则可以将属性从一个文件调用到另一个文件(如函数,变量,对象等)

您在一个.js文件中编写的js函数和变量 - 比如a.js将可用于其他js文件 - 比如b.js,只要a.js和b.js都包含在文件中,使用以下包含机制(如果b.js中的函数调用a.js中的函数,则按相同的顺序)。

另一答案

是的你可以 。你需要将JS file引用到.aspx页面

JScript1.js

function ani1() {

alert("1");

ani2();

}

JScript2.js

function ani2() {

alert("2");

}

另一答案

您可以从您正在使用的文件中调用在另一个js文件中创建的函数。因此,首先您需要将外部js文件添加到html文档中 -

........

外部javascript文件中定义的函数 -

$.fn.yourFunctionName = function(){

alert('function called succesfully for - ' + $(this).html() );

}

要在当前文件中调用此函数,只需将函数调用为 -

......

$(function(){

$('#element').yourFunctionName();

});

如果要将参数传递给函数,则将函数定义为 -

$.fn.functionWithParameters = function(parameter1, parameter2){

alert('Parameters passed are - ' + parameter1 + ' , ' + parameter2);

}

并在当前文件中调用此函数 -

$('#element').functionWithParameters('some parameter', 'another parameter');

另一答案

以下是附加CodePen代码段的更具描述性的示例:

1.js

function fn1() {

document.getElementById("result").innerHTML += "fn1 gets called";

}

2.js

function clickedTheButton() {

fn1();

}

的index.html

Click me

产量

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS85U1pqMS5wbmcifQ==

试试这个CodePen片段:link。

另一答案

ES6:您可以只包含一个主文件,而不是在.html中使用

在script.js文件中包含另一个文件:

import { hello } from './module.js';

...

// alert(hello());

export function hello() {

return "Hello World";

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值