Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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
要成为一名优秀的AngularJS开发人员,我需要了解哪五个JavaScript概念?_Javascript_Angularjs - Fatal编程技术网

要成为一名优秀的AngularJS开发人员,我需要了解哪五个JavaScript概念?

要成为一名优秀的AngularJS开发人员,我需要了解哪五个JavaScript概念?,javascript,angularjs,Javascript,Angularjs,假设我习惯于在服务器端编码(使用服务器端语言),现在我正在学习AngularJS。这意味着我首先需要很好地理解JavaScript 如果我现在不必花时间完全学习JavaScript,为了成为一名有效的AngularJS开发人员,您会推荐我先学习/学好哪五个JavaScript概念 类型系统:有两种根本不同的值:原语和对象。数字、字符串、布尔值、null、未定义都是原语数组([1,2,3])、对象({prop1:value1,prop2:value2})和函数都是对象 –在尝试将AngularJS

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

如果我现在不必花时间完全学习JavaScript,为了成为一名有效的AngularJS开发人员,您会推荐我先学习/学好哪五个JavaScript概念

  • 类型系统:有两种根本不同的值:原语和对象。数字、字符串、布尔值、
    null
    未定义
    都是原语
    数组(
    [1,2,3]
    )、对象(
    {prop1:value1,prop2:value2}
    )和函数都是对象
  • –在尝试将AngularJS中的数据绑定到基元时,这一点尤为重要
  • 数组['syntax']==array.syntax;数组['$id']==数组。$id;数组[someExpression]没有等值“.”符号
  • 可变范围和赋值
    • 函数中任何位置定义的变量在该函数中的任何位置都可见
    • 为变量指定对象时,将为其指定引用(而不是副本)。这在AngularJS中变得非常重要,例如,当您从服务器获取JSON数据并将结果分配给变量时。这将重置引用。指向旧引用的其他变量(比如在控制器中)继续指向旧引用。()
  • 闭包–在定义AngularJS服务()和使用
    this
    ()在控制器上定义方法时,闭包非常有用

  • 还要注意JavaScript是单线程的

    在我看来,你应该明确以下主题

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

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

    2) 范围链和IIFE(可立即调用的函数表达式)

    原因:当您使用angularJS IIFEs处理应用程序时,它在操作您的范围方面起着主要作用

    3) 闭包

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

    4) 依赖注入

    原因:Angular JS基于的javascript概念


    5) 您还可以浏览一些关于AngularJS的好的样式指南。例如,您可以参考以下内容:

    谢谢@Stewie。我真的很希望其他人也能给出答案,但遗憾的是,已经有2张投票来结束它。很好的列表,我会在JS语言的上下文中添加对
    这个
    关键字的理解。还提到了原型继承,但关于如何在JS中创建对象及其OO性质的一般概念也很重要,需要理解。+1在这种情况下,如果这有助于反对结束,我也会投票表决这个问题。(我认为AngularJS非常固执己见,它需要对JavaScript有很强的理解才能有效并真正掌握它,如果你不这么做,那就不公平了,但如果你愿意接受一些有点神奇的东西,那就好了。JavaScript中真的没有那么多可移动的部分。。。诀窍在于如何利用它们并将它们很好地结合在一起。我已经读过/略读过了。