如何从<;调用javascript函数;脚本>;标签? //一些大函数() //基于前面的代码动态加载脚本 文件。填写(“”);
问题:是否可以将如何从<;调用javascript函数;脚本>;标签? //一些大函数() //基于前面的代码动态加载脚本 文件。填写(“”);,javascript,html,Javascript,Html,问题:是否可以将largeFunction()移出静态html页面并将其放入js文件中?如果是,那么在编写标记之前,我如何静态调用该函数?而不详细介绍javascript模块等,我将介绍最简单的方法,让您继续前进,并让您根据需要进行优化。假设您将largeFunction()放入一个名为myScript.js的单独文件中,那么您的HTML页面设置如下所示: <html> <script> //some largeFunction() //load a
largeFunction()
移出静态html
页面并将其放入js
文件中?如果是,那么在编写
标记之前,我如何静态调用该函数?而不详细介绍javascript模块等,我将介绍最简单的方法,让您继续前进,并让您根据需要进行优化。假设您将largeFunction()
放入一个名为myScript.js的单独文件中,那么您的HTML页面设置如下所示:
<html>
<script>
//some largeFunction()
//load a script dynamically based on the previous code
document.write("<script src='//...'><\/script>");
</script>
</html>
大函数();
//基于前面的代码动态加载脚本
文件。填写(“”);
如您所见,您真正需要做的就是确保在当前脚本标记之前引用外部脚本文件。从那里,您可以调用largeFunction()
,就像它嵌入到HTML中一样。简短回答:是
只要先加载包含函数的第一个脚本,就可以在任何地方调用函数,只要先加载
<html>
<script type="text/javascript" src="myScript.js"></script>
<script>
largeFunction();
//load a script dynamically based on the previous code
document.write("<script src='//...'><\/script>");
</script>
</html>
只需确保您的第一个脚本包含该函数。您可以尝试以下选项:
LargeFunction.js
function largeFunction(){
//这是一个全局函数,是window对象的一部分。
//一旦加载文件,就可以从任何地方调用它。
}
index.html
大函数();
生活 这些函数在加载文件时仅执行一次。它们一经编译即被调用
function largeFunction(){
}
(功能(){
大函数();
})()
你甚至可以尝试不用生活
<script src="file1.js" type="text/javascript"></script>
<script>
largeFunction();
</script>
window.onload/$(document.ready()) 渲染所有元素后将触发此事件。如果JS正在操作任何元素,如管理UI状态或创建控件,如
日期选择器
或可搜索下拉列表
或添加选项以选择
,则首选这些事件
注意:两个事件不相同。你可以参考下面的帖子
//纯JS
函数largeFunction(){
}
window.onload=函数(){
大函数();
}
//jQuery
函数largeFunction(){
}
$(文档).ready(函数(){
大函数();
})
注意:功能大不是一个好的做法。您还应该尝试将函数拆分为多个函数 函数getData(回调){ 变量数据=。。。 //从服务器获取数据 数据=清洁数据(数据); 数据=过程数据(数据); if(callback)callback(data);//callback指的是renderUI函数 } 函数cleanData(数据){ //如果任何字段需要格式化,请清除 返回数据; } 函数processData(数据){ //您可以排列逻辑来解析数据 返回数据; } 函数(数据){ //使用数据更新DOM元素 } 函数largeFunction(){ getData(renderUI); }
如果在JavaScript中获取DOM元素并添加事件处理程序,则不必将函数放在HTML页面上。您可以创建JS文件并使用脚本标记链接到它。最好将脚本标记放在页面底部,以确保所有DOM都已加载 例如:
function largeFunction(){
}
largeFunction();
在页面底部附近的HTML中
var getDomJquery = $("#got-Some-dom").on( "click", function(){
// do some cool JS DOM stuff here
});
var getDomPureJs = document.getElementById("got-Some-dom").on( "click", function(){
// do some cool JS DOM stuff here
});
是。你可以。您可以将整个函数移动到不同的文件中。然后加载这个文件。关于调用函数,您可以在此文件后使用另一个脚本标记来调用它。您还可以查看iLife
或window.onload
。这些也可以在该文件中。只需要将加载js文件的脚本标记放在创建新脚本标记的脚本标记之前。您尝试过吗?对我来说,似乎可以使它从单独的文件工作。它无论如何都可以访问文档objectNote!如果此脚本处理DOM元素,请确保在整个HTML之后加载此文件。或者使用window.onload来确保要操作的元素被渲染。这是可选的/延迟的加载要求吗?但是我想在渲染完成之前初始化这些内容。我是否可以在加载期间执行myJsFile.js
中的函数,而不直接触发该函数?是的。你可以做document.load(这里是你的代码),谢谢你解释生活!是否可以对变量执行相同的操作,即加载一个js文件,然后在另一个脚本标记中引用该文件中的变量?@User肯定是的
var getDomJquery = $("#got-Some-dom").on( "click", function(){
// do some cool JS DOM stuff here
});
var getDomPureJs = document.getElementById("got-Some-dom").on( "click", function(){
// do some cool JS DOM stuff here
});
<script src="myJsFile.js"></script>