javascript学习记录1

看了javascipt权威指南和mozilla的javascript教程,真是头大。我最熟悉的语言算是C和C++的,开发项目的时候也玩过java,不过java没怎么深入学习,这没啥大不了的,个人觉得C,C++和java再语法上基本上相通的,所以在这些语言之间做切换是没什么难度的。

把C++编程思想看过一两遍之后,理解python无压力,很快就上手,关键是在于如何熟练运用那些标准库。python另外需要注意的两点是编码规范和效率问题。可能对于同一个问题python有多种方式解决,但是如何高效得解决,还是很有学问的,这就得靠平常积累了。

这里mark一下这些天学习javascript的心得。

第一点就是javasript的变量作用域是词法作用域,还算好理解。大概意思就是函数的执行依赖于变量的作用域,这个作用域是再函数定义的时候决定的,而不是函数调用的时候决定的。我的通俗理解就是函数作为对象,是方法和对象包含的变量的集合,函数执行的时候,依赖于它所包含的变量。这些概念主要用于嵌套的函数中。


function init() {
  var name = "Mozilla";
  function displayName() {
    alert(name);
  }
  return displayName;
} var myFunc = makeFunc(); myFunc();

在上面的代码中,init是一个函数对象,name是这个函数对象包含的属性;对于嵌套的函数(对象)displayName而言,name是它依赖的“环境变量“。

第二点,闭包,我推荐乐队mozilla的开发指导,这个比javascript权威指南上的要通俗易懂一些。

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Closures?redirectlocale=en-US&redirectslug=Core_JavaScript_1.5_Guide%2FClosures

最后吐槽一下,javascript实在太灵活了,一时半会适应不过来,不过要真是和c++一样,那倒也无趣了!

你可能感兴趣的:(JavaScript,闭包,Closures)