如何在一个js里面调用另外一个js的函数

如何在一个js里面调用另外一个js的函数,第1张

在一个js文件里面定义函数,比如function a (){}
然后在另一个js文件里面直接调用a();
但是在html中引入文件的时候,定义函数的那个js文件要在调用的那个js文件的前面引入

<body>
<script>
checkIsNotEmpty("12");
</script>
</body>
hanshujs里是这样:
function checkIsNotEmpty(str)
{
alert("checkIsChinese");
return true;
}

1、最简单的调用方式,直接写到html的body标签里面:

2、在JS语句中调用myfun函数:

扩展资料:

无论是html的body标签,还是JS语句中调用的myfun函数,其本质都是调用了 Javascript 中的onload事件处理器。

在现代浏览器中都内置有大量的事件处理器。这些处理器会监视特定的条件或用户行为,例如鼠标单击或浏览器窗口中完成加载某个图像。通过使用客户端的 JavaScript,可以将某些特定的事件处理器作为属性添加给特定的标签,并可以在事件发生时执行一个或多个 JavaScript 命令或函数。

事件处理器的值是一个或一系列以分号隔开的 Javascript 表达式、方法和函数调用,并用引号引起来。当事件发生时,浏览器会执行这些代码。

除了onload事件之外,还有onUnload事件、onFocus事件、onBlur事件、onChange事件等等。

参考资料:

百度百科-事件(HTML属性)

参考资料:

百度百科-Javascript 事件

通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿;所以一般有良好开发习惯的程序员都会把javascript代码放到独立的js文件中,其他页面通过引入该js文件来使用相应的 javascript代码。
今天在做一个小新闻系统的管理页面时因为图方便,刚开始所有用到的自定义javascript函数都放在了 adminaspx页面中,功能实现后为了让前端页面显示简洁规范些,我把所有自定义的javascript函数都放到adminjs文件里了,然后在adminaspx页面中通过<link href="script/adminjs" type="text/javascript" />引入该js文件。接着问题出现了,里面定义的函数有的调用正常,有的却出错了,提示缺少对象。如果是文件路径不对应该所有脚本函数都不能调用才对;但如果路径正确的话为什么有的函数可以正常调用有的却不能呢?不解!
接着上网查了一下,有人也遇到这种情况在CSDN中发贴提问,不过似乎也没解决;然后尝试用另一种方法引用JS文件:<script src="script/adminjs" type="text/javascript"></script>。再运行,所有脚本函数调用正常,看来问题是出现在调用方式上。那究竟javascript的各种引入方式有什么区别呢?下面让十万个为什么 为大家总结一下:
ASPNET本身就提供了多种调用javascript脚本的方法,笔者在这里总结了六种调用方法,大家可以根据自己的使用习惯选择相应的调用方式了!
1、直接在前台页面调用自定义的javascript 函数:
很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript "
如:
<head runat="server">
<script type="text/javascript" >
function ShowName(str)
{
alert("十万个为什么的站长是:("+str+")");
}
</script>
<title>using javascript</title>

代码
[html] view plain copy
$("dev_topcoli")click(function(){
if($(this)find("img")attr('src')=='images/light_apng'){
$(this)find("img")attr('src',"images/light_bpng");
}
else{
$(this)find("img")attr('src',"images/light_apng");
};
// $(this)find("img")attr('src',$(this)attr('src')=='images/light_apng''images/light_bpng':'images/light_apng':"");
}

不用在同一个script标签内,JS是按块加载的,每个<script/>标签作为一块。加载完成后,就可以调用的到。
第一种情况:第一块加载完成后,第二块还未加载,第一块就调用了第二块中的方法,所以调用失败。
第二种情况:在一个块内,都加载完成后调用,所以调用成功。
第三种情况:第一块下加载完方法,第二块再加载完毕,可以成功调用第一块已加载完的方法

函数只要是在同过一个页面就可以调用 (包含引入的远程文件。)
比如有一些网站使用的是远程的jquery库 同样在页面中可以使用jquery的方法这个就是一个典型的例子。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13341064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存