[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[转载教程] JS基础知识——变量

变量其实就是保存值的容器,这些值将在脚本中被使用或者被改变.事实上,每个脚本都使用变量来存储和操作数据,就算只有少许JavaScript经验的人也可以正确地使用它。
变量名称
  JavaScript变量名称必须由字母,数字,下划线和美元符号组成。第一个字符不能是数字。记住JavaScript是大小写敏感的,即变量test不同于变量Test。
  JavaScript在开发中习惯以驼峰命名格式拼写较长的变量或函数名,因为这样更容易阅读。名字以一个小写字母开头,但是每个新单词开头时,使用大写字母。例如三明治拾取器,就使用变量currentPrice,而不是currentprice或current_price。
  W3C DOM使用相同的命名约定,例如getElementById或createElement。如果你使用相同的规则给你的变量命名,你将会很快适应这种命名约定,并且名称内部的大写字母减少了你出错的机会。
  1.                            保留字
  2. 你不能使用以下单词作为变量或函数的名称,因为它们在JavaScript中别有意义:
  3. 以下的单词为JavaScript将来的扩展而保留,比如即将到来的2.0版本:
  4. abstract,boolean,byte,char,class,const,debugger,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile.
  5.   在写这本书的时候,如果你使用上面的保留字作为变量或函数的名称,Mozilla和Safari会报错,而Explorer和Opera而允许使用它们。
复制代码
关键字var
  当我第一次用到一个新变量的时候,我会在它的名字前加上关键字var。这是一个显式的变量声明,我将花一点时间和耐心来解释我正在声明一个新变量。
  你可以不指定一个值给新变量:
  var x;
  现在你已经显式地声明了变量x,但你还没有给它赋值,就像我们在以前看到的一样,此时它有一个特别的值undefined.这是允许的,但是最好尽快给它赋值,因为一般来说你并不希望undefined值来开头乱你的脚本。
隐性变量声明
  var关键字不是必须的。如果你在程序中开始使用一个还没有声明的变量,JavaScript会没有怨言地去创建它,这被称为隐性变量声明。一个隐性性明的变量总是具有全局作用域。
  以下的两个例子都是正确的JavaScript:
  var x = 10;
  var a = x * 2;
  alert(a);

  // b还从来没有被用过
  b = x * 2;
  alert(b);
  我没有使用var去声明变量b,但因为我赋了一个值给它,JavaScript会自动创建它。虽然如此,显式地声时变量能让你的脚本保持清晰,并且能避免作用域的问题,所以我建议你尽量使用它。
变量作用域
  每个变量都有一个作用域,即变量在这么一个区域中可以被识别,而出了此区域它就没有任何作用了。作用域有两种;全局作用域和局部作用域。
  全局变量在JavaScript代码中处处都有定义(或者更准确地说,它贯穿在一个全局对象中)并可以在任何地方使用。局部变量则只在一个函数中有定义。
  1.                          无块级作用域
  2.   注意,JavaScript没有块级作用域,这一点与C++和Java不同。任何局部变量在定义它的整个函数体中都能被识别。
复制代码
使用局部变量
  优秀的编程实践是尽可能地使用局部变量。这样可以防止变量之间相互干扰,即使它们具有相同的名字。
  例如,在“三明治拾取器”中,我使用变量price保存用户订购的所有三明治的总价。毕竟用这样一个变量名去保存价格是非常直观的,并且其他程序员将会立即明白它的意思。
  如果我有更多用于计算价格的函数,我可能也希望在那里使用price,可是,如果price是一个全局变量,好几个函数都可能改变它的值。结果就是price可能得到一个无法预料的值而导致我的计算发生错误。
  最安全的方式就是为每个用于计算价格的函数都创建一个局部变量price。每个函数将并不知道其他函数中的price变量,这样也就没有了冲突的危险。
定义局部变量
  你该如何定义局部变量呢?有这两种方式;
  ++你可以在函数体中使用var关键字显式声明它们;
  ++你可在定义函数的时候,将它们声明为参数。
  其他任何方式声明的变量都是全局变量
  在下面这例子中,message是一个局部变量,因为它是在函数体的内部定义的:
  function doSomething() {
     var message = 'Error!';
     alert(message);
  }
  在这个例子中,它成为一个全局变量,它是在函数外部定义的
  var message = 'Error!';
  function doSomething() {
      alert(message);
  }
  在这个例子中,它还是一个全局变量。它在函数体中使用,但是没有用var关键字来声明;
  function doSomething() {
     message = 'Error!';
     alert(message);
  }
  最后,在这里,它再次成为一个局部变量,因为它是一个函数的参数;
  doSomething('Error');
  function doSomething(message) {
      alert(message);
  }
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

呵呵,这个不错哦~

楼主,怎么不把教程继续发下去

TOP

多谢你的支持,关键是最近的2个月没有什么时间,除了上班的12个小时,也就能看看书了,连上网吧的机会都没有,不过想学的话,百度才是关键,
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

返回列表