开发中遇到一个问题,代码demo如下:

test.js文件内容:

var b = getHomeCity();

Test.html文件内容:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Test HTML Page</title>
  5. <script type="text/javascript" src="test.js"></script>
  6. <script type="text/javascript">
  7.  
  8. (
  9. function(window){
  10. alert(b);
  11. }
  12. )(window);
  13.  
  14. function getHomeCity(){
  15. return 10;
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <!-- 这里放入内容 -->
  21. </body>
  22. </html>

运行后结果:

打开console发现报错:

getHomeCity()未定义:

后来改了一下getHomeCity()函数位置:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Test HTML Page</title>
  5. <script type="text/javascript">
  6. function getHomeCity(){
  7. return 10;
  8. }
  9. </script>
  10. <script type="text/javascript" src="test.js"></script>
  11. <script type="text/javascript">
  12.  
  13. (
  14. function(window){
  15. alert(b);
  16. }
  17. )(window);
  18.  
  19. </script>
  20. </head>
  21. <body>
  22. <!-- 这里放入内容 -->
  23. </body>
  24. </html>

运行结果:

同一Script代码块中的函数调用:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Test HTML Page</title>
  5. <script type="text/javascript">
  6.  
  7. var b = getHomeCity();
  8. (
  9. function(window){
  10.  
  11. alert(b);
  12. }
  13. )(window);
  14. function getHomeCity(){
  15. return 10;
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <!-- 这里放入内容 -->
  21. </body>
  22. </html>

运行结果:

结论:

同一个Script代码块中,函数可以相互调用,根据函数定义提升原则,函数定义写在前面或后面都可以执行该函数

但是不同的Script代码块之间调用函数,一定要在调用函数之前定义了该函数,否则会出现undefined的情况。

引用js文件中的函数调用的更多相关文章

  1. JavaScript进阶(二)在一个JS文件中引用另一个JS文件

    在一个JS文件中引用另一个JS文件       转载地址:http://blog.csdn.net/zndxlxm/article/details/7875787 方法一 在调用文件的顶部加入下例代码 ...

  2. JS文件中的中文在网页引用时显示乱码的简单解决方式

    今天把一个jquery方法从前台cshtml文件转移到单独的js文件中后执行不成功,调试发现if判断中的中文字符串变成了乱码,之前在前台文件中是可以正常显示的,所以判定可能是跟文件的编码方式有关系. ...

  3. 在VS中让一个JS文件智能提示另一个JS文件中的成员2--具体引用

    我们知道,在html中,利用<script language="javascript" type="text/javascript" src=" ...

  4. 在SharePoint解决方案中使用JavaScript (1) – 引用.js文件

    本文是系列文章的第一篇. 在SharePoint解决方案中使用JavaScript (0) 作为在SharePoint应用程序中使用JavaScript的第一步,就是要知道如何将一个写好的.js文件, ...

  5. 在一个JS文件中引用另一个JS文件

    方法一,在调用文件的顶部加入下例代码: document.write(”<script language=javascript src=’/js/import.js’></scrip ...

  6. JS文件中引用另一个JS文件

    1.生产项目上遇到一个Bug,需要修改JS文件,添加Jquery代码,但是原来的页面没有添加对Jquery文件的引用,无法修改原来的页面(自动生成的HTML) 这就需要在JS文件中添加对Jquery文 ...

  7. js文件中函数前加分号和感叹号是什么意思?

    本文转自:http://blog.csdn.net/h_o_w_e/article/details/51388500 !function(){}();   !有什么用? 从语法上来开,JavaScri ...

  8. 在VS中让一个JS文件智能提示另一个JS文件中的成员

    “在VS中如何让一个JS文件智能提示另一个JS文件中的成员” 有时候会有这种情况:当我的一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1. ...

  9. js文件中使用EL表达式的问题

    var str = '${str}' ; var str = '${obj.属性名}'; 只可以再jsp页面的<script></script>中使用,外部引入的js文件中不能 ...

随机推荐

  1. thinkphp 打印sql语句方法

    thinkphp 打印数据use think\Db; 引用db 需要查询的sql语句连锁查询 db()->table('business_order')->alias('o')->j ...

  2. rhcsa备战笔记

    笔记全部手打 转载请加原文链接 0)重置密码开机按e 找到linux16行 rd.break console=tty0  ctrl+xmount -o remount,rw /sysrootchroo ...

  3. C博客作业03——函数

    0.展示PTA总分 截图展示: 1.本章学习总结 1.1学习内容总结 (a)函数的定义 1)函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种,scanf(),printf()等为库函数 ...

  4. struct iphdr

    struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:, version:; #elif defined (__BIG_ENDIA ...

  5. 各种系统性能优化技术,采用vilocity实现商品页面静态化

    1.大型门户网站系统:>10万的访问量   行业网站(当当网,卓越网):20万-30万,一个小时内会跟数据库的交互至少20万-30万,会产生数据库瓶颈,每个数据库都有一个最大连接数(socket ...

  6. modao账户

    chairman987@163.com 墨刀注册 p@ssw0rd OR 123456

  7. 可伸缩性架构常用技术——之数据切分 Data Sharding/Partition

    1. 简介 本来想写一篇可伸缩性架构方面的文章,发现东西太多了,久久未能下笔,这里首先把大家最关注的数据切分(Partition/Sharding)方面的内容先写完,给大家参考. 我们知道,为了应对不 ...

  8. 每天有300W的pv,我们单台机器的QPS为58,大概需要部署几台这样机器?

    每天有300W的pv,我们单台机器的QPS为58,大概需要部署几台这样机器? 一.总结 一句话总结: ( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS) 13 ...

  9. 范仁义html+css课程---3、图片和超链接

    范仁义html+css课程---3.图片和超链接 一.总结 一句话总结: img标签是图片标签,定义 HTML 页面中的图像 a标签是超链接标签,用于从一个页面链接到另一个页面. 1.img标签要点? ...

  10. tomcat的CATALINA_HOME环境变量可以不用设置

    不配置tomcat的环境变量也是可以运行的 用记事本打开tomcat/bin目录下面的startup.bat 在文本的前一部分有下面的脚本代码rem Guess CATALINA_HOME if no ...