2024年5月10日发(作者:)

构成javascript完整实现的各个部分:

>javascript的核心ECMAScript描述了该语言的语法和基本对象;

描述了该语言的语法和基本对象;

>DOM描述了处理页面内容的方法和接口;

描述了处理页面内容的方法和接口;

>BOM描述了与浏览器进行交互的方法和接口;

原始值和引用值

在ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。

原始值是存储在栈中的简单数据段,也就是说,

原始值是存储在栈中的简单数据段,

也就是说,它们的值直接存储在变量访问的

位置。

位置。

引用值是存储在堆中的对象,也就是说,

引用值是存储在堆中的对象,

也就是说,存储在变量处的值是一个指针,

也就是说,

存储在变量处的值是一个指针,指向存

存储在变量处的值是一个指针,

指向存

储对象的内存处。

储对象的内存处。

为变量赋值时,ECMAScript

为变量赋值时,

ECMAScript的解释程序必须判断该值是原始类型的,还是引用

类型的。要实现这一点,解释程序则需尝试判断该值是否为ECMAScript的原始

类型之一。由于这些原始类型占据的空间是固定的,所以可将它们存储在较小的

由于这些原始类型占据的空间是固定的,

所以可将它们存储在较小的

内存区域----

内存区域

----栈中。

----

栈中。

栈中。

ECMAScript有5种原始类型,即underfined 、null、boolean 、number、string

underfined

null

boolean

number

ECMAScript提供了typeof运算来判断一个值是否在某种类型的范围内。

注意:对变量或值调用typeof运算符的时候返回object---的变量是一种引用

object---

的变量是一种引用

类型或null类型。

类型。

String类型的独特之处在于,它是唯一没有固定大小的原始类型。

转换成字符串:

转换成字符串:

ECMAScript的boolean值、数字、字符串的原始值得有趣之处在于它们是伪对

象,这意味着它们实际上具有属性和方法。这3中主要的原始值都有toString()

方法,可以把它们的雾值转换成字符串。

注意:

注意:

ECMAScript定义所有对象都有toString()方法,无论它是伪对象,还是真的对

toString()

方法,无论它是伪对象,还是真的对

象。

象。

转换成数字:

转换成数字:

ECMAScript提供了两种把非数字的原始值转换成数字的方法,即parseInt()以

parseInt()

及parseFloat()。

parseFloat()

强制类型转换:ECMAscript

强制类型转换:

ECMAscript中可用的3中强制类型转换

中强制类型转换

Boolean(value)

Number(value)

String(value)

引用类型:

引用类型通常叫作类,也就是说,遇到引用值时,所处理的就是对象。

对象是由new运算符加上要实例化的类的名字创建的。

var o = new Object();或者

var o = new Object();

或者 var o = new Object;

或者

var o = new Object;

Object类:对象.属性

Object类中所有属性和方法都会出现在其他类中。引用就相当于指针。

对象的函数、对象本身(原型)、对象的属性、创建对象的函数。

、对象的属性、创建对象的函数。

Constructor:对创建对象的函数的引用。

Constructor:

对创建对象的函数的引用。

对创建对象的函数的引用。

Prototype:对该对象的对象原型的引用。

Prototype

:对该对象的对象原型的引用。

:对该对象的对象原型的引用。

HasOwnProperty(property):判断对象是否有某个特定的属性。

HasOwnProperty(property):

判断对象是否有某个特定的属性。

判断对象是否有某个特定的属性。

IsPrototypeOf(obejct):判断该对象是否为另一个对象的原型。

IsPrototypeOf(obejct):

判断该对象是否为另一个对象的原型。

PropertyIsEnumerable(property):

ToString():返回对象的原始字符串表示;

ToString():

返回对象的原始字符串表示;

返回对象的原始字符串表示;

ValueOf():返回该对象的原始值

ValueOf()

:返回该对象的原始值,

:返回该对象的原始值

,也就是最初赋的那个值。

也就是最初赋的那个值。

Boolean类:

ValueOf()方法,返回原始值,即为

ValueOf()

方法,返回原始值,即为true或false。

false

建议:最好还是使用Boolean原始值。

原始值。

Var ss = new Boolean(true);

Var oo = new Number(666);

Var si = new String(“

Var si = new String(

“hello world”

hello world

”);

String类:

String类的属性length:输出字符个数

length:

输出字符个数

输出字符个数

chartAt()和

chartAt()

和charCodeAt()都是访问字符串中的单个字符。字符与字符代码

charCodeAt()

都是访问字符串中的单个字符。字符与字符代码

concat():用于把一个或多个字符串连接到

concat()

:用于把一个或多个字符串连接到String对象的原始值上--

对象的原始值上

--后接

--

后接

后接

var o = new String(“

var o = new String(

“hello”

hello

”);

var sResult = (“

var sResult = (

“world”

world

”);==o+”

);==o+

”world”

world

” 都输出

都输出hello world。

hello world

indexOf()和

indexOf()

和LastIndexOf()方法返回的都是指定字串在另一个字符串的位置。

LastIndexOf()

方法返回的都是指定字串在另一个字符串的位置。

如果没有找到返回-1

如果没有找到返回

-1;这两个方法不同在于,检索相反。

-1

;这两个方法不同在于,检索相反。

;这两个方法不同在于,检索相反。

LocalCompare()对字符串进行排序,该方法有一个参数—要进行比较的字符串,

LocalCompare()

对字符串进行排序,该方法有一个参数—要进行比较的字符串,

返回的是下列3个值之一:

个值之一:

如果String对象按照字母顺序在参数中的字符串之前,返回负数。

如果String对象等于参数中的字符串,返回0。

如果String对象按照字母顺序排在参数中的字符串之后,返回正数。

Var oString = new String(“

Var oString = new String(

“yellow”

yellow

”);

Alert(Compare(“

Alert(Compare(

“brick”

brick

”); //outputs”

); //outputs

”1”

LocalCompare()对字符串的头字母进行排序。

LocalCompare()

对字符串的头字母进行排序。LocalCompare()

对字符串的头字母进行排序。

LocalCompare()是区分大小写的,

LocalCompare()

是区分大小写的,