JavaScript学习笔记——Javascript基本语法

JavaScript学习笔记——Javascript基本语法

本文是对《Professional:JavaScript for Web Developers》第三章:Language Basic所做的笔记
----------------------------------------------------------------------------------
JavaScript是类C语言,因此基本语法和C很像。因此,以下笔记是和C有所不同的,或者特别需要注意的。
数据类型:
  •      JS定义变量的时候,并不指定是哪个数据类型。
  •      JS有五种基本数据类型,分别是:Undefined,Null,Boolean,Number,String
  •      其中,Undefined是未赋值的变量的默认值。尽管如此,还是推荐给每个变量赋初值。
  •      Number中包含int和float类型;其中float类型可以表示为科学计数法形式:3.1e12。
  •      Number数字的最大最小值:最大值:Number.MAX_VALUE;最小值为Number.MIN_VALUE;超过这个大小的表示为Number.INFINITY。
  •      NaN表示不是一个数字(Not a number)。用函数NaN()可以判断是否为一个Number。
  •      对于一个对象(Object)类型,调用其valueOf()函数,首先用NaN判断是否为数字,然后返回其toString()。
  •      转型为Number:Number(),parseInt(),parseFloat();如果String中只含有数字,则表示为int或者float,否则返回NaN。其中,parseInt(" A STRING", a int number),第二个参数表示进制,一般为2/8/16。
  •      String中,\xnn表示ACSCII码,\unnnn表示Unicode字符。String的length属性可以判断其长度。
  •      null和undefined没有toString()方法。
  •      对象类型,使用new来创建,同样有Constructor, hasOwnProperty(PropertyName),isProtorypeOf(Object),toLocaleString,toString(),valueOf();其中valueOf()返回值基本上等于toString()的返回值。
操作符:
  •      ++,--操作符可以对非int的对象进行操作,操作前进行转型。float对象,对其整数部分进行操作;仅包含Number的String,转为Number后操作,其他String出错;true按照1来处理,false按照0来处理。
  •      保存数字占用64bit内存,但是在转换时候,先转为32bit的,然后在存为64bit的。存储方式详见组成原理一书。
  •      位操作:~、&、|、^(异或)、<<、>>
  •      比较运算符中,对比字符串,按照字符ASCII排序,如果一个是String,一个是Number,转为Number。
  •      ==操作中,Object的toString()和String进行比较。
  •      NaN!=NaN;Object中,不是指向同一个的Object不相等。
  •      ===是不进行类型转换的比较。如"55"==55;"55"!==55
控制语句:
  •      for ( ... in ... ) 类似于遍历。
  •      with语句:例如var a=X.A; var b= X.B 可以写成with(X){ var a = A; var b = B }
  •      switch中,case可以是变量。
函数:
  •      函数的返回类型不需要事先声明,直接在想返回的地方return即可。如果return;则返回undefined。
  •      函数的参数本质是一个参数数组,因此,你可以不管声明了几个,可以传递任意个数的参数。传递进来的参数的调用也可以通过arguments进行。例如 funciton add(x,y){return x+y;}也可以写成这样:function add(){return arguments[0]+arguments[1];}。
  •      函数不能重载。

其余未提及的部分,基本和C语言是相同。

转载于:https://www.cnblogs.com/XuYankang/archive/2012/07/05/2577688.html

你可能感兴趣的:(JavaScript学习笔记——Javascript基本语法)