10

假设我习惯于在服务器端编码(使用服务器端语言),现在我正在学习 AngularJS。这意味着我首先需要对 JavaScript 有一个很好的理解。

如果我现在没有时间完全学习 JavaScript,你会建议我首先/好学习哪五个 JavaScript 概念,以便成为一名有效的 AngularJS 开发人员?

4

2 回答 2

9
  1. 类型系统:有两种根本不同的值:基元和对象。Number, string, boolean, null,undefined都是原语。
    数组([1,2,3])、对象({ prop1: value1, prop2: value2 })和函数都是对象。
  2. 原型继承——当您尝试在 AngularJS 中将数据绑定到原始数​​据时,这一点尤其重要
  3. 数组['syntax'] === array.syntax; 数组['$id'] === 数组.$id; array[ someExpression ] 没有等效的 "." 符号
  4. 变量范围和赋值
    • 在函数内任意位置定义的变量在该函数内随处可见
    • 当一个变量被分配一个对象时,它被分配一个引用(而不是一个副本)。这在 AngularJS 中变得很重要,例如,当您从服务器获取 JSON 数据并将结果分配给变量时。这将重置参考。指向旧引用的其他变量(比如在您的控制器中)继续指向旧引用。(示例
  5. 闭包——在定义 AngularJS 服务(示例)和使用this示例)在控制器上定义方法时,这些非常有用

另请注意,JavaScript 是单线程的!

于 2013-03-13T23:29:03.077 回答
3

在我看来,您应该清楚以下主题

1)在javascript中按值调用与按引用调用

原因:因为在 angularJS 中我们处理了很多对象。一旦你了解了这一点,你就会清楚他们的行为

2)作用域链和IIFE(立即可调用函数表达式)

原因:当您使用 angularJS 在应用程序上工作时,IIFE 在操纵您的范围方面发挥着重要作用。

3)闭包

原因:最重要的javascript概念之一。如果您看到许多基于 javascript 构建的著名库和框架的源代码,它们会大量使用闭包。闭包还将帮助您深入了解工厂的运作方式。

4)依赖注入

原因:Angular JS 所基于的 javascript 概念

5) 你也可以阅读一些关于 AngularJS 的优秀风格指南。例如你可以参考这个:https ://github.com/johnpapa/angular-styleguide

于 2016-05-28T19:21:39.697 回答