Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 课程结构?_Javascript_Ajax - Fatal编程技术网

Javascript 课程结构?

Javascript 课程结构?,javascript,ajax,Javascript,Ajax,好的,我试着学习我的第一语言的javascript,但是我在“编程”的逻辑/结构方面遇到了问题。我知道javascrupt中的几乎所有东西,我可以编写语句/循环/数组/对象/等等。。。但是,我不知道如何使用它或将它付诸行动,我在网上找不到我想要的东西 所以我想我的问题是如何用javascript构建程序 它是不是像: 变量在这里 功能在这里 数组在这里 等等 我就是不明白。如果不指定程序的功能、大小、可扩展性、用途等,很难定义程序的结构 也就是说,(局部)变量的一个好的经验法则是在函数的开头定义

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

所以我想我的问题是如何用javascript构建程序

它是不是像:

变量在这里

功能在这里

数组在这里

等等


我就是不明白。

如果不指定程序的功能、大小、可扩展性、用途等,很难定义程序的结构

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


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

如果您必须从javascript作为编程语言开始,Douglas Crockford是一个很好的javascript代码结构和习惯参考。javascript中有很多陷阱,Crockford对其中的风格和结构非常仔细。

我怎么强调好的资源对于学习一门语言是多么重要

对于学习每种可用的对象/方法来说都是非常好的。此外,按要求阅读

使用

问很多问题

至于计划的实际结构:

//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
文件中。不要使用内联事件
打破了内容、风格和交互的分离。

我想退一步,问问为什么JS是你的第一语言?如果你打算把你的职业生涯作为一个脚本小子(我的意思是无意冒犯,有些非常聪明的人是脚本小子),那就继续吧。然而,如果您想进入服务器端/桌面开发,那么您会发现向Java或.Net之类的东西的过渡非常困难。JS是一种一流的语言,除非你只是留在家族中(F#、python、ruby等),否则转向面向对象是非常困难的。如果你真的想学习如何编程签出,你也会有很多乐趣。无论如何,回到问题上来:

function myFunc(param) {
    ....
}


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

IMHO:学习编程语言非常糟糕的选择可能是dup-@m0skit0,我认为这不一定是真的。JavaScript有它的怪癖,但它可以非常有表现力,并且为教授函数式编程原理提供了一个相当“友好”的工具(特别是考虑到,因为它嵌入到web浏览器中,所以有一个现成的“工作台”,带有用于进行图形反馈等的设施)。免责声明:我目前正在向一些13岁的新手教授网络编程,他们做得很好:-)我仍然坚持认为JS是一种会教你坏编程习惯的语言,这对学习者来说是不好的。我之所以知道这一点,是因为我开始学习BASIC编程,现在我后悔浪费了这么多时间重新学习我所学的错误。如果您想学习函数式编程(我也不推荐初学者学习函数式编程),那么可以使用Haskell或LISP。我强烈建议初学者使用命令式编程,因为它是最简单的范例,接近计算机的运行方式,没有那么多抽象。但这只是我的观点。@m0skit0,我认为JS是第一语言的最佳选择之一。它有面向事件的编程、跨浏览器的不一致性、不一致的支持、非典型的范围、动态类型和自动引用传递。要真正了解编程的工作原理,有很多重要的东西需要学习。我之所以学习它,是因为我25岁(开始编程有点老了…),但我想用JS/ajax开始web开发,我计划在学习JS后转向PHP…不,你只是个婴儿;)直接进入PHP和HTML5,它会让你大吃一惊。不过,请注意,编程不是一项工作,而是一种生活方式。这很有创意,很难放弃
(function(){
     . . . .
     function anotherFunc() {
        . . . . .
     }

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