节目结构?

时间:2011-11-07 15:01:32

标签: javascript ajax

好的我试着用我的第一语言学习javascript但是我遇到了“编程”的逻辑/结构问题。我知道javascrupt中的几乎所有内容我都可以编写语句/循环/数组/对象/等等......但我无法理解如何使用它或将其付诸行动而我找不到我想要的东西网络。

所以我想我的问题是如何在javascript中构建一个程序?

是这样的:

变量在这里

功能到这里

数组到这里

等...

我只是不明白..

4 个答案:

答案 0 :(得分:1)

如果必须以javascript作为编程语言开始,那么对于javascript代码具有良好结构和习惯的良好参考将是Douglas Crockford的Javascript: The Good Parts。 javascript中有很多陷阱,而Crockford对其风格和结构一丝不苟。

答案 1 :(得分:1)

我无法强调一个好的资源对学习语言的重要性。

MDN非常适合学习每个可用的对象/方法。此外,请将JavaScript: The Good Parts视为必读。

使用jslint

提出很多问题。

关于程序的实际结构:

//wrap your code in a self-executing closure to prevent global namespace pollution
(function () {
  //use strict because it's good to brush your teeth
  "use strict"
  //initialize all vars at top of functions
  var a, b, c, d;

  //declare your functions after your variables
  function foo(bar, baz) {
    var fizz, buzz;

    function subfunction() {
      //some code
    }

    //more code
  }

  //whatever code needs to run should follow function declarations
  a = 1;
  b = 2;
  c = foo(a, b);

  //if you need to make something globally accessible, do it explicitly
  window.foo = foo;
}());

另外:如果正确使用它们,HTML,CSS和JS将以MVC模式协同工作。将您的HTML保存在.html个文件中,将您的CSS保存在.css个文件中,将JavaScript保存在.js个文件中。不要使用内联事件<body onload="whatever();">打破内容与样式和交互的分离。

答案 2 :(得分:0)

很难为程序定义一个结构而不指定它将做什么,它的大小,可扩展性,目的等等。

那就是说,(局部)变量的一个好的经验法则是在函数的开头定义它们。因为javascript不像其他类C语言一样使用块作用域,所以所有的变量声明都在内部转移到函数的开头。

对于函数,通常使用通用功能和数据作为基础将它们组织成对象或模块(javascript是面向对象的语言,因此几乎所有的OOP原则都适用于此)。

答案 3 :(得分:0)

我会后退一步,问为什么JS是你的第一语言?如果你打算把自己的职业生涯当作一个脚本小子(我的意思是没有冒犯,一些非常聪明的人是脚本小子)然后继续。但是,如果您想进入服务器端/桌面开发,那么您将很难找到像Java或.Net这样的过渡。 JS是一流的语言,除非你只是留在家庭中(F#,python,ruby等),否则转向面向对象非常困难。如果你真的想学习如何编程结帐Alice,你也会有很多乐趣。无论如何回到问题:

function myFunc(param) {
    ....
}

(function(){
     . . . .
     function anotherFunc() {
        . . . . .
     }

}())

var myFunction = function() {
  . . . . . 
}

所有这些结构在不同情况下都是有效的,正如托马斯所说,一种尺寸并不适合所有这些结构。