一旦你发现一个学习工具,它采用自上而下的方法,那么什么是最好的学习方法?我对这有一个具有争议性的观点:我认为尽可能快地记住基础知识对初学者而言是绝对有必要的。当成为更高级的学习者,记忆很快成为一个被丢弃了的方式。你可能听到过别人轻视地说(“不要死记,要内部消化”,“我在消化记住的东西”,“我讨厌测试,我不得不回想起记忆中的东西”)。
另一方面,当你还是小学的时候,你被迫花时间来背乘法口诀表。为什么要背呢?因为你的基础乘法口诀表可以是构建更复杂的乘除法的基础。这和你记忆编程语言的语法并没有什么不同:如果你写 if 或 for 循环越自然,那么你写出更复杂的语句块也更容易。
我也承认记忆并不总是学习所有东西的最好方法,但是我相信对于编程初学者而言,是实践编程所绝对必须的。为什么呢?因为它可以减少阻力,如果有什么东西会带给初学者挫折,那就是阻力。
考虑到这一点,这里有一些具体的建议给那些正在学习或准备学习 Web 应用开发的初学者。实际上,说得更远点更抽象点,这就是一个如何开始学习软件开发的一个好计划。很显然,这不是一个适合所有人的计划,但是我认为它一定适合大部分初学者。
- 学习一门弱类型的编程语言,不要先学习那种具有强制类型的、面向对象的编程语言。严格而言,如果有人对你提到 class (类)或继承,那么你就应该去选择其它的途径了。虽然我认同类和继承相关技术是软件开发中必不可少的,但是我强烈认为它们不应该是初学者的选择。
- 鉴于此,我认为 JavaScript 是初学者而言最理想的编程语言,因为:(a) JS 解释器在绝大部分浏览器上都可用,(b)它的面向对象特性并不是强制型的,(c)在工业界被广泛使用(是的,即使是 web 之外的客户端,即使是现在担任设备工程师的我也做嵌入 JavaScript 的工作。)
- 说得更具体点,我建议你学习用 JavaScript 如何学习去下面的事,特别是以这个顺序:
- 学习如何打印出一些东西,学习如何声明和定义变量,学习基本算术运算操作(包括余数操作),学习循环(特别是 for 循环),学习把抽象重复的代码写成函数,学习字符串和用循环操作字符串,学习数组和数组的循环方法(特别是 foreach 循环),学习创建和操作对象数据集。
- 记住上面的这些并每天写一个程序来实践,直到这些都轻而易举地想起来。
- 学习 Git 的基本操作,学习通过命令行使用 Git。这意味着要先学习四个 Unix/Linux 命令(ls,pwd,mkdir,cd)。当学习了这几个命令,也就学会了以“树型”或层次结构的呈现方式查询文件系统。
- 一旦你掌握了上面的几个 Unix/Linux 命令,并会从命令行进入文件系统,你就应该学几个基础的 Git 命令。主要是 git init, git status, git add and git commit。
- 一旦你掌握了 Git 的基本操作,在学习下面的技术时将其集成到你的工作流中。
- 学习 HTML 基础,能够凭记忆创建简单的 HTML 页面。学习 DOM 和如何理解 HTML 作为指定的分层树结构。花点时间来思考它如何关系到你在前面步骤中学到的分层文件系统。
- 学习 CSS 选择器,了解它如何让你选定 DOM 的某些部分。了解 DOM 元素之间的关系。了解一个 DOM 元素作为另一个 DOM 元素的父元素或子元素的含义。理解这与后代和祖先之间的关系有什么不同。记住选择器可以让你通过这些关系来选定某些元素。
- 学习 jQuery,并主要专注于 DOM 的操作能力。学会用 jQuery 对 DOM 插入或删除元素,实践可视化如何影响用 DOM 定义的树型结构。
- 实践 jQuery 中的事件处理和 DOM 操作(比如,实践操作 DOM 当用户点击某个东西,或在指定的时间间隔)。
- 多练习 JavaScript 对象,并把它们当作可变的聚合器。学习如何用 JavaScript 来表示更复杂的数据而不是基本数据类型。学会应用并操作这些数据结构。理解并定义 JSON、理解它如何与 JavaScript 对象相关联。
- 学会使用 jQuery 的 getJSON 函数从文件中获取数据到 JavaScript 对象中。使用类似的技术,用一个简单的 JSONP API 去练习用 AJAX 拉取数据。练习向 DOM 插入和删除这个数据。
在这个阶段,做一个简单的幻灯片来循环播放 Flickr 图片,这将是一个令人难以置信的项目,将真正考验你的能力,使用之前学过的基础技术来实现它。
如果你做了这一步,那么你已经掌握了大量必备的编程和计算机科学基本概念。具体来说,你掌握了计算机程序的最重要元素(如果 if-else 语句,循环,变量,对象,函数,数组等),你已经学会了链式或树型的数据结构。这时,无疑你已经准备好转移到更高级的主题。
谢谢关注websites博客!
本文最初发表在codecloud.net,文章内容属作者个人观点,不代表本站立场。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了一个非常正确且强大的编程学习方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境