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

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

  第一次写,错误在所难免,恳请大家指正和谅解。

  1、VAR

  var i = 5;
  var j = "hello world";
  var k = document;
  for( var u = 0; ... ; ... ) { ... }
  function fun() { var v = document; ... }
  VAR的作用是声明变量,但是不通过VAR声明的变量也可以使用。
  在BLOCK块(用 { 和 } 或 (和 )括起来的的代码段)中用VAR声明的变量是局部变量,一旦出了BLOCK的范围(SCOPE),变量就会失效。例如在样例中的 u 和 v 变量,当程序流分别出了 FOR 和 FUNCTION 语句的范围之后 u 和 v 就成了未定义变量。
  其他情况下用VAR声明或者通过未声明直接使用的变量(解释器会隐式声明这些变量)都是全局变量。

  在同一个范围(SCOPE)中对同一个变量名不能用一次以上的VAR,即不可重复声明变量。
  不同范围(SCOPE)中声明的同名变量在Javascript中会相互隐藏,例如,有一个全局变量 variable,同时在程序段中还有一个局部变量 variable,那么你在程序中引用的变量实际上会是局部变量 variable 。

  一个变量在赋值之后,其类型就转化为所赋值的类型。
  从未声明过(包括赋值操作引发的隐式声明)的变量值为 undefined 类型也为 undefined 。

  变量的有效性是它的定义范围与定义语句出现的顺序无关。
  function test(){
    document.write(great) ;  // print "undefined"
    document.write(odd) ;   // print "javas" , not "undefined"
    var odd = "javas" ;
  }
  样例中虽然 odd 在 document.write 之后,但在程序被解释时 odd 就被初始化了,所以打印结果不是 "undefined" 而是odd被赋予的初始值。

  2、IF-ELSE

  if( val > 2.3){
    rs = 5.56;
  }
  else if( val + rs > "1.2") {
    rs = document;
  }
  else{
    rs = "Hello world";
  }
  IF-ELSE的用法与JAVA中的完全相同。
  注意表达式中的中的“val + rs > '1.2' "这在JAVA中是不允许出现的。
  另外虽然Javascript不要求在每句语句之后加分号,但加上分号是良好的编程习惯。
  在样例中出现的未声明就使用的变量的情况在Javascript中是允许的,他们将自动转化为全局变量。
  Javascript是大小写敏感的,所以请注意关键字的大小写。

  3、SWITCH

  switch(key - 65){
    case 0:
      ch = "A" ;
      break;
    case 1:
      ch = "B" ;
      break;
    default:
      ch = "X" ;
      break;
    case 9:
      ch = "Y" ;
      break;
  }
  SWITCH的用法与JAVA中的完全相同。