Javascript客户端脚本的设计和应用

2019-06-03 21:43:33于海丽

  Javascript中的多维数组的实现与JAVA中的完全相同。arr_m中 [ 1, 2, 3, 4] 表示 arr_m[0]所指向的第二维数组的数据。
  Javascript对数组的访问与JAVA中的完全相同。

  var textfield = document.all[ "textfield" ];
  document.all 是一个数组吗?不完全是。
  那为什么我们可以用 “textfield” 来访问我们的对象呢?
  这是因为以上我们所看到的是Javascript中非常特殊的用法——关联数组,也可以称之为索引器。
  对象名[ "成员名" ] = 对象名.成员名

  关联数组的使用,可以使某些操作从硬编码中解脱出来,使之更具有灵活性。请看下面一个例子。
  假如我们在执行某个与对象相关的操作时需要靠外界输出才能确定调用的函数。
  方案之一:SWITCH,每更改一个分支就需要更新该方法。
  方案之二:对象 + . + 函数名();,语法错误。
  方案之三:对象 [ 函数名字符串 ]();,好的。
  方案之四:eval(对象名字符串 + "." + 函数名字符串 + "();");,也可以的。

  关联数组的使用,使我们能够用字符串,数字或者其他的类型的变量作为索引来访问我们所需要访问的属性和方法。
  在FOR-EACH中常常会用这种方法来遍历对象或数组属性和方法。

  12、UNDEFINDED-NULL

  undefined == null ? true
  undefined === null ? false
  undefined 表示所引用的对象未经定义。
  null表示所引用的对象的值是空值。
  在布尔表达式中它的作用基本与null一致,都表示 false。

  13、TRY-CATCH-FINALLY-THROW

  try{
    throw new Error( "Test Exception" ) ;
  }
  catch( e ){
    document.writeln( e.name + ":" + e.message);
  }
  finally{
    document.writeln( "Final here");
  }
  TRY-CATCH-FINALLY-THROW的用法与JAVA中的完全相同。
  这是Javascript 1.5才有的新特性,在早期的浏览器中可能不支持。目前常用的浏览器 IE6、NAV7、Opera、FireFox 1.0 都支持。

  14、WITH

  function Point ( x, y ) {
    this.x = x;
    this.y = y;
  }
  var newPoint = new Point( 1, 3 );
  with (newPoint) {
    var sum = x + y;
  }
  WITH的用法与DELPH中的完全相同。
  由于使用了WITH,在其作用域中newPoint.x 和 newPoint.y 分别被简化为了 x 和 y 。

  15、TYPEOF

  swich (typeof obj) {
    case "String" :
      rs = "string" ;
      break;
    case "Object" :
      rs = "object" ;
      break;
    case "Number" :
      rs = "Number" ;
      break;
    defualt:
       rs = "Unknown Type" ;