书薄记--JavaSctipt高级程序设计章三(基本概念)

语法
  区分大小写
  标识符:以 字母,_ ,$开头,其它字符能够是字母,_,美圆符号或数字。
  命名方式:推荐驼峰大小写方式。
  注释:// 单行      /**  多行   **/

  语句:类Cjava

  关键字:浏览器

  break  else new var case finally return void catch for switch while continue function this with函数

  default if throw delete in try do instanceof typeof测试

  保留字:this

  abstract enum int short boolean export interface static byte extends long super char final native spa

  synchronized class float package throws const goto private transient debugger implements protected volatiledebug

  double import publicorm

变量:对象

  松散类型:继承

   var i = 1; i = "msg";

   function test() { msg = "xxx";//将定义全局变量  }

数据类型:

   typeof 操做符(不是函数!!!) :

      对一个值使用typeof操做符可能返回下列某个字符串

      "undefined" -- 该值未定义

       "boolean" -- 布尔值

       "string" -- 字符串

       "number" -- 数值

       "object" -- 对象或null

       "function" -- 函数

  Undefined 类型

   只需记住一点:对未初始化和未声明的变量执行typeof操做符,都返回"undefined"。

  Null类型

    只有一个值null。

    typeof null//"object"

    alert(null == undefined);//true

    null与undefined之间的相等操做尽管老是返回"true",但两都用途彻底不一样。

    无需将任何变量的值显示设为undefined,但能够对变量设为null,表示将保存对象。

  Boolean类型

  只有两值:true和false。

  其它类型与该类型的转换:

     String   任何非空字符(true)     ""(false)

     Number   任何非零数字值(包括无穷大)(true)     0和NaN(false)

     Object   任何对象(true)                     null (false)

     Undefined     n/a(true)                     undefined(false)

  在if判断中,以上值将自动转换。

   

  Number类型

    规则字面量大多与Java相似,但:

    永远不要测试某个特定的浮点数值,如 if( a + b == 0.3) //永远不要作这样的测试!!!!

    Number.MIN_VALUE 最小值,大多浏览器中为5e-324。

    Number.MAX_VALUE 最大值,大多数浏览器中为1.7976931348623157e+308。

    超出范围将自动转换为 Infinity(无穷,分正负)

    可用isFinite()函数测试是否位于数值范围间。

    NaN(Not a Number),即非数字。

       非同寻常的特色:

         1。任何涉及NaN的操做都返回NaN

         2。NaN与任何值都不相等 alert(NaN == NaN) //false

    isNaN()函数:

         接受任意对象,会尝试转换成数值,不能被转换成数值的值,返回false。

        如:alert(isNaN(NaN))//true

           alert(isNaN(10)) //false

           alert(isNaN("abc")) // true

           alert(isNaN(false))) // false

        对于对象类型的测试:先尝试valueOf() 失败 ? -> toString();

        parseInt,parseFloat以及转换,看书!!  

String类型

   类java : 字面量,不可变,toString()。

   例外:

       '123' 与 "123"定义字符串,无区别。

      null与undefined无toString();

      toString(),可传参数。调用数值的toString()方法,能够输出二进制,八进制,十六进制,及其它任何有效进制。

               num.toString(2);

               num.toString(8);

Object类型

   var o = new Object();

   var o = new Object;//有效,但不推荐

   var o = {};

   概念与java中Object相似,是全部对象类型的基类。

   constructor -- 保存着用于建立当前对象的函数,对前例而言 就是 Object();

   hasOwnProperty(propertyName) -- 检测当前对象是否存在访属性(非存在于实例原型中),参数必须为字符串。

   isPrototypeOf(object) -- 传入的对象是不是另外一个对象的原型。

   propertyIsEnumerable(propertyName) -- 检查给定属性是否能使用 for-in语句枚举。规则与hasOwnProperty一致。

   toString() -- ....

   valueOf() -- ....。

   例外:

       IE中,只有开发人员自定义的对象才继承自Object,所用BOM,DOM与这里介绍的不一样。

操做符  

   大多与c,java中的规则相似。但

   特别的:

    ++,-- :

        可用于非数字类型,规则以下:

        用于非数字类型时,会将该类型转换成数字再运算。

   == ,=== :

        == :不一样类型的变量也能够比较,变量间会强制转换,会尝试转换成数字再比较。

             对于对象类型则是是否指向同一对象。

        === : 不进行类型转换的比较。不一样的数据类型比较,必定不相等。其它规则同 == 。

   with :  with (expr) statement 将代码的做用域设置到一个特定对象中。

相关文章
相关标签/搜索