社区
JavaScript
帖子详情
在一个 js 文件中是否可以再包含另一个 js 文件?
czjcsdn
2006-10-23 02:16:34
问题如标题:
在一个 js 文件中是否可以再包含另一个 js 文件?
就象在 java 中可以用 import 的方式包含另一个类,但不知道 js 中是怎么弄的。
请指教,谢谢!
...全文
1565
25
打赏
收藏
在一个 js 文件中是否可以再包含另一个 js 文件?
问题如标题: 在一个 js 文件中是否可以再包含另一个 js 文件? 就象在 java 中可以用 import 的方式包含另一个类,但不知道 js 中是怎么弄的。 请指教,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
96Code
2006-11-02
打赏
举报
回复
meizz(梅花雪) 你能不能具体说说怎么解决的,或者给我看看具体的加载代码?
我写了一个类似ZK的ajax框架,其中也包括了一套client的framework,但是在动态导入js上遇到问题,只好采取延迟加载的方式
czjcsdn
2006-10-30
打赏
举报
回复
好,对了,就是这样类似的结构。
czjcsdn
2006-10-30
打赏
举报
回复
显示不对,再贴一遍,再不对也不贴了,希望大家能理解我的意思。
javascript|
|--utils |
| |--string.js
| |--number.js
| |--......
|--controls|
| |--textbox.js
| |--listbox.js
| |......
|--......
czjcsdn
2006-10-30
打赏
举报
回复
把js库的结构大概的样式再贴一下
javascript|
|--utils|
| |--string.js
| |--number.js
| |--......
|--controls|
| |--textbox.js
| |--listbox.js
| |......
|--......
Apq001
2006-10-30
打赏
举报
回复
大家回答的就是你这种情况的解决方案,看来你没看懂老大们的回复。
czjcsdn
2006-10-30
打赏
举报
回复
我的意思是这样:
javascript|
|--utils|
| |--string.js
| |--number.js
| |--......
|--controls|
| |--textbox.js
| |--listbox.js
| |......
|--......
我建立了一个类似上面结构的js库,每个js文件中包含了相应的一组操作功能,比如listbox.js中包括了添加、删除、清空、移动各选项等功能,string.js包括了javascript没有提供了,但又是我自己所需要的一些字符串处理的功能。
但有时可能会需要在listbox.js中调用string.js的某一个函数功能(这只是一个举例),如果有了类似于java中的import的功能的话,那实现起来就方便多了,但问题是没有这项功能。
我这样算是说清楚了吗?
我是用.NET开发网站程序的,虽然有了这些js库,在<head></head>段中编写js时可以方便一些,但出于各方面考虑,不希望把代码写在<head></head>中,而希望能写在一个单独的js文件中然后在<head></head>段的<script ......></script>中调用,比如:
Login.aspx调用login.js
CheckUser.aspx调用checkuser.js
我个人认为,这也是系统模块文化的一种方式,虽然可能没这种必要,但在一个页面中,如果js代码很多的话(比如有个七八十行,甚至更多),那我觉得就很有用了。
但这样就造成我希望在login.js和checkuser.js中想调用string.js和number.js中的功能就不知道该怎么调用。
我想我应该是说清楚我的意图了,我自己考虑了很长时间,始终没有找到好的方法。因此在这里发出这个贴子,希望大家能讨论一下。
有空再来讨论。
Eilien
2006-10-28
打赏
举报
回复
我的天呐,全看不懂,做个mark..
以后再来做.
meizz
2006-10-27
打赏
举报
回复
不错,xdspower 把原理讲得非常的透彻。写 framework 的目的就是为了模块化每一个JS脚本组件,动态载入,统一管理。我实现了 namespace 的模式,可以解决同名模块的冲突问题。至于guyan999(深海) 所说的不能“立即”使用载入的JS脚本问题我也已经解决了。可以给你一个片断:
<script src="ui/scripts/jsframework.js"></script>
<script src="ui/scripts/jsframework.js">/*<![CDATA[*/
Using("System.Web.UI.WebControls.MzTreeView");
var a = new MzTreeView();
a.dataSource={"-1_1": "text: CSDN社区起始点; JSData: communitytree.js"};
a.useCheckbox=true
document.write(a.render());
a.expandLevel(1);
/*]]>*/</script>
这就是我现在写的树控件在HTML网页里加载的所有代码。
czjcsdn
2006-10-27
打赏
举报
回复
xdspower()
多谢。
你所说的和我本来的基本思路差不多,但我有另一个原因导致有我现在的这种需求。
我现在忙,稍后再来发贴。
再次感谢。
lurkerxh
2006-10-27
打赏
举报
回复
通过XMLHttpRequest传送js代码,真强啊!
xdspower
2006-10-26
打赏
举报
回复
再回到楼主迫切的问题上,有了前文的理论基础,其实你在Html来引入多个js文件和js引入js就没有什么区别了。你完善了js框架后,需要使用某个文件就在html中引入,然后在后面的js文件中像本身内容一样接着使用就好了,当然,你其实在后面的使用中还是要注意名字空间等等问题的,也就是不能影响到原有框架(这个是起码的条件)。
对于框架的建立,其实可以仿照js默认框架,进行多层次的包装归类,比如实现算法的归于一类,实现接口的归于一类等等(这句仅仅是表达一个意思,你不会照着作吧!),然后起一个方便记忆,有唯一的名字来标识。
对于具体的应用,你选定一个好的命名规范基本上就够了。
xdspower
2006-10-26
打赏
举报
回复
我觉得这个不是重要的问题,主要是因为javascript本身就是一种比较随意的语言,而且大多用于一些较小的范围,没有充分考虑重用问题,造成编码中不规范,容易造成命名冲突等等很多问题。
如果是你自己要用于比较复杂的应用,一开始就定好规范就可以较好的自己创作出一套方便的库来使用了。
你想一下如果没有上面提到的规范的建立,你随意的引入其他文件还是很危险的行为,毕竟在Html文件中引入js的时候都是在顶层框架中引入,所有js定义的全局变量等等都是通用的,你就是在js文件中引入js文件还是避免不了这个问题。
java可以通过import引入主要的还是系统提供的库部分,而不是随便的什么文件啊,其他脚本语言比如python等的文件引入也是要注意这样的问题的。
综述一下,就是你需要有完善的规范,我想这也是meizz(梅花雪)的javascript framework 的能够建立的基础。
czjcsdn
2006-10-26
打赏
举报
回复
meizz(梅花雪)
Godknow(没钱吃饭。。。)
能讲讲你们的framework的思路吗?我觉得“guyan999(深海) ”的方式应该解决不了我的问题。
96Code
2006-10-26
打赏
举报
回复
js的动态引用方法:
function(jsSrc){
var head=document.getElementsByTagName("head")[0];
var scripts=head.getElementsByTagName("SCRIPT");
for(var i=0;i<scripts.length;i++){
var src=scripts[i].src;
if(src==jsSrc) return false;
}
var script=document.createElement("SCRIPT");
script.language="javascript";
script.id=jsName;
script.src=jsSrc;
script.defer=true;
head.appendChild(script);
return true;
}
不过在js里导入另外一个js文件后 不能无法立即使用第二个js的变量,必须延迟执行脚本语句 :)
PleaseDoTellMeWhy
2006-10-26
打赏
举报
回复
我看见那颗钻石就眼馋,梅前辈!
czjcsdn
2006-10-26
打赏
举报
回复
prototype.js 是什么?请指教。
meizz
2006-10-25
打赏
举报
回复
prototype.js 的强项不是载入管理JS代码,它只是给了你一些基础的脚本库和类继承方法罢了
liangxf0022
2006-10-25
打赏
举报
回复
动态加载JScript不是JavaScript完全可以实现。去看看prototype.js,会有启发的
meizz
2006-10-25
打赏
举报
回复
我写了一个 javascript framework ,从系统级解决了此类问题!
玄之丞
2006-10-25
打赏
举报
回复
写JS的东西,现在感觉很提不起干劲。
............... :<
加载更多回复(5)
Nest
js
最佳实践
基本学会一套,全面够用,再加上 Monorepo 组织结构,
一个
仓库所有平台都可以搞定。
包含
以下知识点 - 掌握Nest
js
框架的依赖注入,模块,提供者,生命周期等概念 - 掌握DTO数据验证,响应序列化,异常过滤...
Node
js
详解
Node.
js
是
一个
开源与跨平台的 JavaScript 运行时环境。 它是
一个
可用于几乎任何项目的流行工具! Node.
js
在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使 Node.
js
表现得...
Node.
js
进阶教程第一步(基础篇)
本课程从Node.
js
的安装配置开始,包括函数调用,模块调用,路由,
文件
操作,异常处理,参数接收,正则表达式,连接数据库,事件等内容,使学员通过十六课时,学习Node.
js
的基础知识,掌握
JS
开发服务端的编写方法,...
HTML+CSS+JavaScript基础
本阶段内容主要涵盖技术: HTML + CSS + JavaScript基础,同时包括
JS
函数式框架jQuery
Vue.
js
2.0之全家桶系列视频课程
基于Vue.
js
2.x版本,目前最全的Vue.
js
教学视频,让你少走弯路,直达技术前沿! 多面讲解Vue.
js
全家桶(vue.
js
、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 课程内容
包含
: 1. 数据绑定、...
JavaScript
87,907
社区成员
224,614
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章