javas cript入门要了解的知识和书籍

javas cript入门要了解的知识和书籍java


想要进入IT行业,领取高额的薪资,这但是不容易的,首先须要本身掌握相关的专业知识,而且可以经过相应的考核。对于不少想要从事相关行业的人员来讲,可能最好的方式就是先学习一些基本的知识和操做内容,以便可以奠基必定的基础。面试

  大多数人以为学习Javas cript是一件容易的事情,其实也并无错,js的确是一个容易上手的语言。这就致使不少人都会用Javas cript,但却不多有人能用的很精通的缘由,由于他们大小看js这门语言的基础和内在了,基础,不管什么时候都是一个重要的存在,最直接的就是在你面试的时候,若是连js的数据类型都答不上来那是否是就太过度了。这一点课工场的培训班作的就很不错,理论与实践相结合,让学员可以熟练的掌握相关技术。接下来,就让咱们一块儿总结一下Javas cript的基础。express

  

 


  1、语法编程

  javas cript中的一切(变量、函数名和操做符)都区分大小写。设计模式

  标识符:就是指变量、函数、属性的名字,标识符要求以下数组

  1 第一个字符必须是一个字母、下划线(_)或一个美圆符号($)浏览器

  2 其余字符能够是字母、下划线、美圆符号或数字安全

  3 不能把关键字、保留字、true、false、null用做标识符ide

  注释函数

  // 单行注释

  /*

  *

  * 多行注释

  *

  */

  严格模式

    严格模式是ES5引入的,严格模式定义一种不一样的解析和执行模式,在严格模式下,对某些不安全的操做会跑出错误

  // 在整个脚本中启用严格模式,能够在顶部添加以下代码

  "use strict"

  // 也能够指定函数在严格模式下执行

  function doSomething(){

  "use strict"

  // ....

  }

  2、变量和数据类型

  变量

  一、ESCMs cript中的变量是松散类型的,即Javas cript使弱类型语言,换句话说js中的变量仅仅是一个保存值得占位符而已,能够保存任何类型的值。

  二、定义变量用 var 操做符。

  三、使用var操做符定义的变量将成为定义该变量的做用域中的局部变量。

  四、在函数做用域(块做用域)中能够经过省略var定义全局变量(不推荐)。

  数据类型

  一、js中有5中基本数据类型和1中复杂数据类型他们分别是

  Undefined、Null、Boolean、Number、String和Object

  二、typeof操做符用来检测变量的数据类型,对一个值使用typeof操做符会返回字一个 字符串 ,标示着该值得类型:

  “undefined” —- 若是这个值未定义

  “boolean” —- 若是这个值是布尔值

  “string” —- 若是这个值是字符串

  “number” —- 若是这个值是数值

  “object” —- 若是这个值是对象或null

  “function” —- 若是这个值是函数

  三、js的6中数据类型与使用typeof判断出来的数据类型并不对应,区别就在于使用typeof获得的类型标示中没有”null”,而是多了一个”function”,其余的都是同样的,还要注意的就是对null是用typeof时会返回”object”,而且typeof操做符获得的是字符串。

  3、语句

  if语句

  语法:

  if(条件){

  }else if(条件){

  }else{

  }

  解释:

  其中,条件能够是任意表达式,并且对这个表达式的求值结果不必定非得是Boolean值,ES会自动调用Boolean()转换函数将这个表达式的结果转换成一个布尔值。

  while语句

  语法:

  while(条件){

  something...

  }

  解释:

  其中条件同if语句中的条件,while语句是前测试循环语句,即在执行循环体以前就要对条件表达式求值,因此循环体有可能永远不会执行。

  do-while语句

  语法:

  do{

  something...

  }while(条件)

  解释:

  其中条件同if语句中的条件,do-while语句是后测试循环语句,即在对条件表达式求值以前,循环体中的代码至少被执行一次。有趣的记法就是(while是先问再揍,do-while是揍完再问)。

  for语句

  语法:

  for(初始化代码, 条件, 执行循环体后要执行的代码){

  something...

  }

  解释:

  for语句也是一种前测试循环语句,因此循环体也有可能永远不会执行,for语句和while语句的区别就是,在执行循环以前初始化变量和定义循环后要执行的代码的能力。

  for-in语句

  语法:

  for(property in expression){

  something...

  }

  解释:

  for-in语句是一种精准的迭代语句,用来枚举对象的属性,须要注意的是,for-in语句输出的属性名的顺序是不可测的,因浏览器而异。

  switch语句

  语法:

  switch(表达式){

  case value :

  statement

  break;

  case value :

  statement

  break;

  case value :

  statement

  break;

  default :

  statement

  }

  解释:

  switch语句是与if语句最密切的流程控制语句,Javas cript中的switch语句有不少本身的特点,首先:能够在switch语句中使用任何数据类型,其次:每一个case的值(即value),不只仅只能是常量,也能够是变量甚至表达式。

  4、函数

  Javas cript中的函数使用function关键字来声明

  function(arg0, arg1, arg2, ..., argn){

  statements

  }

  理解参数

  Javas cript中的参数有一下特色:

  不介意你传递几个参数,即便你在定义函数时规定了接收几个参数,它都不会报错。

  不在意你传递的参数是什么数据类型。

  之因此会这样,是由于Javas cript函数内部的参数使用一个类数组对象来表示的,因此函数接收到的始终都是这个类数组对象,而不关心这个对象里面有什么参数,在函数体内能够是用arguments对象来访问这个类数组对象,可使用方括号的语法如:arguments[0]、arguments[1]等,这个事实说明一个重要的特色:

  命名参数并非必须的,它只是提供了便利而已。

  经过arguments的length属性获知有多少个参数传递给了函数:

  function howManyArgs(){

  alert(arguments.length);

  }

  howManyArgs("string", 1); // 2

  howManyArgs(); // 0

  howManyArgs(1); // 1

  关于arguments有一点比较有意思,就是它的值永远与对应的形式参数同步,即修改了arguments[0]的值会使对应的命名参数的值也发生相应的改变。可是这并非说他们访问的是相同的内存空间,他们有独立的存储空间,只不过值会同步而已,另外若是值传递一个参数,修改arguments[1]的值是不会改变对应的命名参数的值的,这是应为,arguments.length的长度是由传递参数个数决定的,而不是命名参数的个数决定的,在这里再次强调一次, 命名参数只是提供了便利而已,没有任何其余做用 。

  没有重载

  因为Javas cript中的函数没有函数签名的特征,因此没有重载,不过能够经过检查传入函数的参数的类型和数量做出不一样的反应来模拟重载。


  下面给你们推荐一些书籍


  入门推荐首选书籍:《Javas cript DOM 编程艺术 》

  书内容简单,易学,上手快,编程思想严谨。好的入门书,对你将来的编程都会有着深远的影响。此本书不辜负这个历史使命。


  基础学习书籍:《Javas cript 权威指南》

  《Javas cript DOM 编程艺术 》只是入门,介绍了编程思想和很简单的程序语法以及 DOM 的基本方法。而《Javas cript 权威指南》详尽的介绍了 Javas cript 的各类函数以及特性。至于后面差很少 500 页左右的参考(Javas cript 核心参考、客户端 Javas cript 参考、DOM 参考)能够暂时不看。


  进阶提高书籍:《Javas cript 高级程序设计》

  在思想上强调 OPP 的概念,内容上注重实用,能够从中学到更多更细致的知识,而且注重浏览器差别的解决。 但若是要阅读必须有必定的 Javas cript 的基础(或者读完前两本),要否则会带来挫折感,打击学习的热情。


  拓展学习篇:《Ajax 实战》

  比较全面深刻的介绍了 Ajax 知识,其中 Ajax 开发的思想和 Ajax 开发中的设计模式等仍是很值得学习。最好在《Javas cript 高级程序设计》基础上阅读此书,能够很好的帮助理解该书的内容。固然对于没有后台语言基础的朋友来讲,阅读起来仍是有必定的障碍的。


  Javas cript 水平到必定程度,书看得再多也不能获得最后技术的提高,那时候就须要实践,本身写代码,深刻到开发中锻炼,理论结合实际,才会提高价值。

相关文章
相关标签/搜索