Java应用:编写高级JavaScript代码

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  在函数内,该变量的值为 “A centaur is probably a mounted Scythian warrior,   misreported; that is, “;在函数外,该变量的值为这句话的其余部分:   ”a horse with rider, as seen from a distance by a naive innocent.”   */   很重要的一点是注意变量是否是在其所属范围的开始处声明的。有时这会导致意想不到的情况。   tweak();   var aNumber = 100;   function tweak() {   var newThing = 0; // 显式声明 newThing 变量。   // 本语句将未定义的变量赋给 newThing,因为已有名为 aNumber 的局部变量。   newThing = aNumber;   //下一条语句将值 42 赋给局部的 aNumber。aNumber = 42;   if (false) {   var aNumber; // 该语句永远不会执行。   aNumber = 123; // 该语句永远不会执行。   } // 条件语句结束。   } // 该函数定义结束。   当 JScript 运行函数时,首先查找所有的变量声明,   var someVariable;   并以未定义的初始值创建变量。如果变量被声明时有值,   var someVariable = “something”;   那么该变量仍以未定义的值初始化,并且只有在运行了声明行时才被声明值取代,假如曾经被声明过。   JScript 在运行代码前处理变量声明,所以声明是位于一个条件块中还是其他某些结构中无关紧要。JScript 找到所有的变量后立即运行函数中的代码。如果变量是在函数中显式声明的 ? 也就是说,如果它出现于赋值表达式的左边但没有用 var 声明 ? 那么将把它创建为全局变量。   复制、传递和比较数据   在 JScript 中,对数据的处理取决于该数据的类型。   按值和按引用的比较   Numbers 和 Boolean 类型的值 (true 和 false) 是按值来复制、传递和比较的。当按值复制或传递时,将在计算机内存中分配一块空间并将原值复制到其中。然后,即使更改原来的值,也不会影响所复制的值(反过来也一样),因为这两个值是独立的实体。   对象、数组以及函数是按引用来复制、传递和比较的。 当按地址复制或传递时,实际是创建一个指向原始项的指针,然后就像拷贝一样来使用该指针。如果随后更改原始项,则将同时更改原始项和复制项(反过来也一样)。实际上只有一个实体;“复本”并不是一个真正的复本,而只是该数据的又一个引用。   当按引用比较时,要想比较成功,两个变量必须参照完全相同的实体。例如,两个不同的 Array 对象即使包含相同的元素也将比较为不相等。要想比较成功,其中一个变量必须为另一个的参考。要想检查两个数组是否包含了相同的元素,比较 toString() 方法的结果。   最后,字符串是按引用复制和传递的,但是是按值来比较的。请注意,假如有两个 String 对象(用 new String(“something”) 创建的),按引用比较它们,但是,如果其中一个或者两者都是字符串值的话,按值比较它们。   注意 鉴于 ASCII和 ANSI 字符集的构造方法,按序列顺序大写字母位于小写字母的前面。例如 “Zoo” 小于 “aardvark”。如果想执行不区分大小写的匹配,可以对两个字符串调用 toUpperCase() 或 toLowerCase()。

[1][2][3][4]

当你困难失望的时候,最重要的是事瞧得起你自己;

Java应用:编写高级JavaScript代码

相关文章:

你感兴趣的文章:

标签云: