05 2015 档案
摘要:Global对象还包含了一些属性,例如,特殊的值undefined、NaN以及Infinity都是Global对象的属性。此外,所有原生引用类型的构造函数,像Object和Function,也都是Global对象的属性。下表给出了Global对象的所有属性。属 性说 明属 性说 明undefin...
阅读全文
摘要:现在我们介绍最后一个方法,这大概是ECMAScript语言中最强大的一个方法:eval()。eval()方法就想一个完整的ECMAScript解析器,它只接受一个参数,即要执行的ECMAScript(或JavaScript)字符串。例如:eval("alert('hi')"); 这行代码作用等...
阅读全文
摘要:ECMA-262对内置对象的定义是:“有ECMAScript实现提供的,不依赖于宿主环境的对象,这些对象在ECMAScript程序中执行之前就已经存在了。”意思就是说,开发人员不必显式的实例化内置对象,因为它们已经实例化了。 Global对象 Global(全局)对象可以说是ECMAScri...
阅读全文
摘要:String构造函数本身还有一个静态方法:fromCharCode()。这个方法的任务是接收一或多个字符编码,然后将它们转换成一个字符。从本质上来看,这个方法与实例方法charCodeAt()执行的是相反的操作。例如:alert(String.fromCharCode(104,101,108,1...
阅读全文
摘要:与操作字符串有关的最后一个方法是localeCompare(),这个方法比较两个字符串,并返回下列值中的一个:如果字符串在字母表中应该排在字符串参数之前,则返回一个负数(大多数情况下是-1,具体的值要视实现而定);如果字符串等于字符串参数,则返回0;如果字符串在字母表中应该排在字符串参数之后,则...
阅读全文
摘要:ECMAScript中涉及到字符串的大小写转换的方法有4 个:toLowerCase()、toLocaleLowerCase()、toUpperCase()和toLocaleUpperCase()。其中,toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.la...
阅读全文
摘要:String类型定义了几个用于在字符串中匹配模式的方法。第一个方法就是macth(),在字符串上调用这个方法,本质上与调用RegExp()的exec()方法相同。match()方法只接收一个参数,要么是一个正则表达式,要么是一个RegExp()对象。例如:var text="cat,bat,sa...
阅读全文
摘要:ECMAScript 5 为所有字符串定义了trim()方法。这个方法会创建一个字符串的副本,删除前置以及后缀的所有空格,然后返回结果。例如:var stringValue = " hello world ";var trimmedStringValue = stringValue...
阅读全文
摘要:有两个可以从字符串中查找子字符串的方法:indexof()和lastIndexOf()。这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到子字符串,则返回-1)。这两个方法的区别分别在于:indexOf()从字符串的开头向后搜索子字符串,而lastIndexOf...
阅读全文
摘要:下面介绍与操作字符串有关的几个方法。第一个就是concat(),用于将一或多个字符串拼接起来,返回拼接得到的新字符串。例如:var stringValue = "hello";var result = stringValue.concat("world");alert(result);//"he...
阅读全文
摘要:两个用于访问字符串中特定的方法是:charAt()和charCodeAt()。这两个方法都接收一个参数,即基于0的字符位置。其中,charAt()方法以单字符字符串的形式返回给定位置的那个字符串(ECMAScript中没有字符类型)。例如:var atringValue="hello world...
阅读全文
摘要:String类型是字符串的对象包装类型,可以像下面这样使用String构造函数来创建。var stringObject = new String("hello world"); String对象的方法可以在所有基本类型的字符串值中访问到。其中,继承的valueof()、toLocaleStri...
阅读全文
摘要:Number是与数字对应的引用类型。要创建Number对象,可以在调用Number构造函数时向其中传递相应的数值。例如:var numberObject=new Number(10); 与Boolean类型一样,Number类型也重写了valueof()、toLocaleString()和to...
阅读全文
摘要:Boolean类型是与布尔值对应的引用类型。要创建Boolean对象,可以像下面这样调用Boolean构造函数并传入true或false值。var booleanObject=new Boolean(); Boolean类型的实例重写了valueOf()方法,返回基本类型值true或false...
阅读全文
摘要:为了便于操作基本类型值,ECMAScript还提供了3个特殊的引用类型:Boolean、Number和String。这些类型与本章介绍的其他引用类型相似,但同时也具有与各自的基本类型相应的特殊行为。实际上,每当读取一个基本类型值得时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用...
阅读全文
摘要:前面曾经提到过,ECMAScript中的函数是对象,因此函数也有属性和方法。每个函数都包含两个属性:length和prototype。其中,length属性表示函数希望接收的命名参数的个数,如下例子:function sayName(name){ alert(name);}function...
阅读全文
摘要:在函数内部,有两个特殊的对象:arguments和this。其中,arguments它是一个类数组对象,包含着传入函数中的所有参数。虽然arguments的主要用途是保存函数参数,但这个对象含所有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。请看下面这个...
阅读全文
摘要:目前为止,我们一直没有对函数声明和函数表达式加以区别。而实际上,解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问);至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。如下例子:alert(...
阅读全文
摘要:将函数名想象为指针,也有助于理解为什么ECMAScript中没有函数重载的概念。如下例子:function addSomeNum(num){ return num+100;}function addSomeNum(num){ return num+200;}var result=ad...
阅读全文
摘要:说起来ECMAScript中上面最有意思,我想那莫过于函数了,有意思的根源,则在于函数实际上是对象。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数通常是使用函数声明语法定义的,如...
阅读全文
摘要:ECMAScript通过RegExp类型来支持正则表达式。使用下面类似Perl的语法,就可以创建一个正则表达式。 var expression=/pattern/flags;复制代码 其中的模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、...
阅读全文
摘要:RegExp的每个实例都具有下列属性,通过这些属性可以取得有关模式的各种信息。 1、global:布尔值,表示是否设置了 g 标志。 2、ignoreCase:布尔值,表示是否设置了 i 标志。 3、lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0开始。 4、multili...
阅读全文
摘要:RegExp对象的主要方法是exec(),该方法是专门为辅助组而设计的。exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null。返回的数组虽然是Array的实例,但包含两个额外的属性:index和input。其中,index表示匹配项...
阅读全文
摘要:RegExp构造函数包含一些属性(这些属性在其他语言中被看成是静态属性)。这些属性适用于作用域中的所有正则表达式,并且基于所执行的最近一次正则表达式操作而变化。关于这些属性的另一个独特之处,就是可以通过两种方式访问他们。换句话说,这些属性分别有一个长属性名和一个短属性名(Opera是例外,它不支持短...
阅读全文
摘要:尽管 ECMAScript中的正则表达式功能还是比较完备的,但仍然缺少某些语言(特别是Perl)所支持的高级正则表达式特性。下面列出了ECMAScript真个表达式不支持的特性。匹配字符串开始和结尾的\A和\Z锚。注:但支持以插入符号(^)和美元符号($)来匹配字符串的开始和结尾。向后查找(look...
阅读全文
摘要:在JavaScript中,常见的运算符有算数运算符、比较运算符和逻辑运算符。表2-2 JavaScript常见运算符算数运算符说明举例结果=赋值运算符。将运算符右边变量的值赋给左边变量。x = 5 ;-+加号。将两个数据相加。y=1+2;y=3-减号。将两个数据相减。z = x-y;z=2*乘号。将...
阅读全文
摘要:数组用来在单独的变量中存储一系列的值。在 JavaScript 中,可以通过以下几种方法来定义数组。使用关键词 new 来创建数组对象例如,创建一个名为 myArray 的数组并赋值:1 var myArray=new Array();2 myArray[0] = " zhangming ";3 m...
阅读全文
摘要:字符串是一系列字符的集合,包括英文字母、标点符号、特殊符号、汉字等。在JavaScript中,字符串可以使用双引号(" ")或单引号(' ')来表示。双引号和单引号必须成对出现,双引号里面可以包含单引号,单引号里面也可以包含双引号。例如:1 var myStr1=" My name is ' xia...
阅读全文