Javascript 课程结构?
好的,我试着学习我的第一语言的javascript,但是我在“编程”的逻辑/结构方面遇到了问题。我知道javascrupt中的几乎所有东西,我可以编写语句/循环/数组/对象/等等。。。但是,我不知道如何使用它或将它付诸行动,我在网上找不到我想要的东西 所以我想我的问题是如何用javascript构建程序 它是不是像: 变量在这里 功能在这里 数组在这里 等等Javascript 课程结构?,javascript,ajax,Javascript,Ajax,好的,我试着学习我的第一语言的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() {
. . . . .
}