为什么以多种不同方式使用此代码?

时间:2018-09-18 20:47:27

标签: javascript

我一直在阅读有关Odin Project的教程,并且不断遇到以下代码行或代码变体:

<script>
  function ml_webform_success_1039364() {
      var webinar_time_cookie = 'webinar_time = ' + countDownDateTimeMilliseconds + '; expires = Fri, 15 Mar 2019 12:00:00 UTC; path=/';
      document.cookie = webinar_time_cookie;

      setTimeout(function () {
       window.location.replace("https://hotbrain.co/webinar-thank-you-page/");
    }, 2000);

    }
</script>

这里到底发生了什么?我不明白为什么将它用于多个程序。如果我不明白它在做什么,那么我将很难使用它。

示例:

(i = 0; i < fLen; i++)

4 个答案:

答案 0 :(得分:1)

简而言之,这是一个For循环,用于迭代一定次数。在该示例中,它基于数组的长度来迭代水果。因此它将运行4次。最后的i++仅在每次运行迭代后才增加增量。

该代码的全部要点是创建一个无序列表<ul>,然后为水果数组的每个索引添加四个列表项<li>

答案 1 :(得分:1)

一经获得,它就非常简单,其中包含三部分:(i = 0; i < 3; i++)

  1. 从0开始
  2. 如果i < 3在括号{}中运行代码
  3. 为我添加+1

诀窍是要使代码不会i = 3时运行,因为它不再< 3

您可以进行类似(i = 3; i > 0; i--)的变体,这是相同的概念。

答案 2 :(得分:0)

与JohnPete22达成协议,它是一个for循环,下面是一些示例: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for

如果您习惯了其他一些编程语言,则可以在此处考虑一些可能对您更有意义的替代方法:

$image1 = imagecreatefromjpeg('image.jpg'); $image2 = imagecreatefrompng('watermark.png'); imagecopymerge($image1, $image2, 0, 0, 0, 0, imagesx($image1), imagesy($image1, 5)); imagejpeg($image1, "ok.jpg"); echo "<img src='ok.jpg' alt='test' >"; -https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

for in-https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

for each-https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while

答案 3 :(得分:0)

那是for loop。它会根据括号内的内容多次在其块({ })中运行代码。

括号中有三个“分句”,以分号分隔。第一个子句是“初始化程序”,它仅在开始时运行一次。第二个子句是“条件”,它在每次运行该块的开始时进行检查。如果计算结果为true(或任何“真实的”),则再次运行该块;否则,循环退出。最后,第三个子句是“最终表达式”,每次在该块之后 之后运行。

放在一起,您可以像这样循环运行十次:

for (let i = 0; i < 10; i++) { /* … */ }

这最初将i设置为零,每次递增i,并在i达到10时退出。在上面的示例中,循环用于遍历循环中的每个元素。 fruits列表并将它们收集到无序列表中。