Ric*_*ard 13 javascript jquery
我在HTML页面上引用JavaScript如下:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&region=GB"></script>
<script type="text/javascript" src="js/shared.js"></script>
<script type="text/javascript">
$('document').ready(function() {
// In-page code: call some functions in shared.js
});
</script>
Run Code Online (Sandbox Code Playgroud)
shared.js中定义的函数不包含在内部$('document').ready.所以:
假设定义的函数shared.js可用于"页内代码"是否安全?
如果我将页内代码拉出到一个名为local.js(保持包装$('document').ready)的单独文件中,是否可以安全地假设定义的函数shared.js可用?
最后,事实是我没有在$('document').ready一个问题中包装shared.js 吗?我发现如果我将它包装起来,它的功能将不再适用于页内代码.
问题3的原因是我遇到了这个问题:Uncaught TypeError:Property ...不是函数 - 页面加载后
并想知道这是否与我如何组织我的代码有关.
更新:谢谢你的答案.现在很清楚,$('document').ready在shared.js 中使用会从全局范围中删除这些函数.但是,我只想澄清第3点中的原始问题.
如果我执行以下操作,我可以假设:
$('document').ready,从shared.js调用一个函数会不会有问题?
换句话说,shared.js即使我没有将该文件中的所有内容包装在里面,是否可以安全地假设页面将在调用内部函数时加载$('document').ready?
Ray*_*nos 25
假设shared.js中定义的函数可用于"页内代码"是否安全?
是的,只要这些功能被注入全球范围
如果我将页内代码拉出到一个名为local.js的单独文件中(将其保存在$('document').ready),是否可以安全地假设shared.js中定义的函数可用?
是的,只要local.js在shared.js AND shared.js将函数注入全局范围后包含.
最后,事实是我没有在$('document')中包装shared.js.准备好了吗?我发现如果我将它包装起来,它的功能将不再适用于页内代码.
包装函数document.ready将它们置于全局范围之外.
var foo = 4; // global
$(function() {
var bar = 5; // local
});
foo = bar; // error
Run Code Online (Sandbox Code Playgroud)
您需要在全局范围内注入变量,这很简单
$(function() {
/* all your code */
window["SomeGlobalVariable"] = someFunctionIWantGlobal;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24739 次 |
| 最近记录: |