如何在JavaScript中创建命名空间,以便我的对象和函数不会被其他同名的对象和函数覆盖?我用过以下内容:
if (Foo == null || typeof(Foo) != "object") { var Foo = new Object();}
Run Code Online (Sandbox Code Playgroud)
这样做有更优雅或简洁的方式吗?
我在stackoverflow中看到了这个问题,但感觉它根本没有得到回答.
有$(document).ready必要吗?
我将所有javascripts链接到页面底部,所以理论上它们都是在文档准备就绪后全部运行的.
我知道在jQuery中,$(callback)它与jQuery(callback)具有相同效果的相同$(document).ready().
怎么样
jQuery(function($) {
});
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下这种功能是什么意思吗?
它有什么作用?
这个和$(callback)?? 之间有什么区别?
这个和$(function())?? 之间有什么区别?
我知道,当您想在 HTML body 部分中调用 JavaScript 函数时,您可以通过放入 body 标记中来实现<script> someFunction(); </script>,这是一个示例,我有这样的 HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript"
src="/Script.js"></script>
</head>
<body>
<script>
showAlert();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
javascript 文件如下:
function showAlert(){
alert("This is an alert!");
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果我将 JavaScript 文件引用放在正文的末尾,如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<script>
showAlert();
</script>
<script type="text/javascript"
src="/Script.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
该函数showAlert()不再被调用。您能回答以下2个问题吗:
showAlert()在第二种情况下没有被调用?我之所以问这个问题,是因为我知道在正文末尾而不是头部引用 JavaScript 文件是一个很好的做法,这样页面将在加载所有 JavaScript 代码之前首先呈现。