Javascript 您如何知道如何初始化脚本?

Javascript 您如何知道如何初始化脚本?,javascript,jquery,initialization,Javascript,Jquery,Initialization,2个问题: 1) 您如何知道如何初始化脚本?代码是否总是在js文件中的某个位置,是否必须从头开始创建初始化代码,等等 2) 为什么不“激活”/初始化jQuery脚本?我使用的其他脚本需要激活,那么为什么jQuery.js不需要内部脚本来启动它呢 只是想把我的脑袋绕到这个概念上来,提前谢谢 在网页中,JavaScript通过以下HTML标记加载和执行: <script src="scriptFile"></script> 在JavaScript中,代码只是从顶部开始“执行

2个问题:

1) 您如何知道如何初始化脚本?代码是否总是在js文件中的某个位置,是否必须从头开始创建初始化代码,等等

2) 为什么不“激活”/初始化jQuery脚本?我使用的其他脚本需要激活,那么为什么jQuery.js不需要内部脚本来启动它呢


只是想把我的脑袋绕到这个概念上来,提前谢谢

在网页中,JavaScript通过以下HTML标记加载和执行:

<script src="scriptFile"></script>
在JavaScript中,代码只是从顶部开始“执行”

JavaScript代码以等待DOM完全加载和准备开始并不少见。例如,启动以下命令的脚本:

$(function() {
   // ... code here ...
});
应读取为执行名为“$”的函数,并向其传递一个注释性函数,该函数应在加载DOM时运行。所有这些符号、花括号、方括号等等都可能令人困惑,但理解它们的最好方法是仍然认识到所有代码都是自上而下运行的。。。它可能不会立即运行。例如:

var x = function() {
   // ... some code ...
};
x();
尽管函数定义中可能有大量代码,但在调用函数之前它不会运行。在JavaScript中,将代码定义与代码执行分开

另请参见本相关问答:


在网页中,JavaScript通过以下HTML标记加载和执行:

<script src="scriptFile"></script>
在JavaScript中,代码只是从顶部开始“执行”

JavaScript代码以等待DOM完全加载和准备开始并不少见。例如,启动以下命令的脚本:

$(function() {
   // ... code here ...
});
应读取为执行名为“$”的函数,并向其传递一个注释性函数,该函数应在加载DOM时运行。所有这些符号、花括号、方括号等等都可能令人困惑,但理解它们的最好方法是仍然认识到所有代码都是自上而下运行的。。。它可能不会立即运行。例如:

var x = function() {
   // ... some code ...
};
x();
尽管函数定义中可能有大量代码,但在调用函数之前它不会运行。在JavaScript中,将代码定义与代码执行分开

另请参见本相关问答:


Kolban回答了这个问题,但特别是关于您的“其他脚本”,这可能是因为这些脚本在某些元素上运行。但是,您需要显式地告诉脚本要对哪些元素进行操作。这通常是这样发生的:

$(document).ready(function () {
    $('#myElement').scriptName();
}

这告诉脚本它可以对ID为
myElement
的元素进行操作。如果这种“初始化”不存在,脚本可能会通过修改您不希望它修改的内容而产生意外的副作用。

Kolban回答了这个问题,但特别是关于您的“其他脚本”,这可能是因为这些脚本操作某些元素。但是,您需要显式地告诉脚本要对哪些元素进行操作。这通常是这样发生的:

$(document).ready(function () {
    $('#myElement').scriptName();
}

这告诉脚本它可以对ID为
myElement
的元素进行操作。如果不存在这种“初始化”,脚本可能会通过修改您不希望它修改的内容而产生意外的副作用。

可能值得注意的是,一些JavaScript库使用/推荐回调函数来初始化,比如jQuery的document.ready.可能值得注意的是,一些JavaScript库使用/推荐回调函数进行初始化,比如jQuery的document.ready.你是Jaden Smith吗?哈哈,不。这是从哪里来的?你是Jaden Smith吗?哈哈,不。这是从哪里来的?为什么这些代码片段放在html中而不是外部js中?它们不必放在html中。我倾向于将它们放在外部js文件中。为什么这些代码片段放在html而不是外部js中?它们不必放在html中。我倾向于将它们放在外部js文件中。