JavaScript基础知识点归纳_第1页
JavaScript基础知识点归纳_第2页
JavaScript基础知识点归纳_第3页
JavaScript基础知识点归纳_第4页
JavaScript基础知识点归纳_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

根底知识点归纳(推荐)定义在函数外的变量一定是全局变量;定义在函数内的变量,如果声明了,那该变量就是局部变量,如果不声明,则该变量就是全局变量。

1、全局变量及局部变量

="";

;

{

="";

();

();

}

();

();

2、两种类型的

i〕持久性,会被存储到客户端的硬盘上。

〕回话:不会被存储到客户端的硬盘上,而是放在浏览器进程所处的内存当中,当浏览器关闭时则该回话就销毁了。

3、在中,函数〔〕就是对象

4、在中,没有方法〔函数〕重载的概念

5、对象

在中有一个对象,所有自定义的函数都是对象类型的。对象承受的所有参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要承受的参数。

6、隐含的对象

在中,每个函数都有一个隐含的对象,表示给函数实际传递的参数。就表示实际传递的参数的个数。

7、函数名

每一个函数对象都有一个属性,表示该函数期望承受的参数个数。它及函数的不同。表示函数实际承受的参数个数。

8、中有五种原始数据类型

、、、以及。〔注意:在中,没有数据类型〕

数据类型的值只有一个:;

数据类型的值只有一个:;

数据类型的值有两个:和;

9、运算符

是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:、、、以及。

10、在中,如果函数没有声明返回值,则会返回11、及的关系

实际上是从派生出来的。例如:

及的关系

();

浏览器返回

11、强制类型转换

在中有3种强制类型转换:〔〕,〔〕,〔〕。

12、对象

在中,所有对象都是从对象继承过来的。

对象

=;

(v){

(v);

}

上面的代码中,浏览器并没有打印出什么,并不能说明对象不带有任何属性。下面代码测试对象中的属性是否可以枚举,如果返回,则说明对象中的属性是不能枚举的。

对象中的属性是不能枚举的

((""));

浏览器弹出对话框,则说明对象中的属性是不能枚举的。

接下来我们再看看对象中的属性是否可以枚举的

对象中的属性是可以枚举的

(v){

(v);

}

在浏览器中我们会看到浏览器调试控制台中打印出一大堆属性,说明对象中的属性是可以枚举的。

13、在中,可以动态添加对象的属性,也可以动态删除对象的属性

动态添加/删除对象的属性

=;

()

="";

()

[""]="123";

()123

此时,属性已经被删除

();

14、中定义对象最常见的方式

定义对象最常见的方式

={

:"",

:12345

};

();

();

15、数组

数组定义

方法一

=;

(1);

(2);

(3);

();

方法二〔推荐〕

=[1,25,4];

;

();

调用数组的〔〕方法,浏览器打印1,25,4,这并不是我们期望的结果。

对于数组的方法来说,它会先将待排序的内容转换为字符串〔调用方法〕,按照字符串的先后顺序进展排序。

以下方式可以得到我们期望的结果〔按数组大小进展排序〕:

数组排序

(12){

1=(1);

2=(2);

(1

-1;

}(12){

0;

}{

1;

}

}

=[1,25,3];

();

();

我们再用匿名函数的方式实现:

匿名函数排序

=[1,25,3];

((12){

1=(1);

2=(2);

(1

-1;

}(12){

0;

}{

1;

}

});

();

16、中定义对象的5种方式〔中没有类的概念,只有对象〕i〕基于已有对象扩大其属性和方法

基于已有对象扩大其属性和方法

=;

添加属性

="";

添加方法

=(){

=;

();

};

("")调用方法,属性被修改为,浏览器将打印

最简单的一种方式,使用起来并不方便,适合于临时需要一个对象。

〕工厂方式创立对象

不带参数的工厂方法:

工厂方法

{

=创立一个对象

=""为该对象添加一个属性

="123"为该对象添加一个属性

={为该对象添加一个方法

(",");

};

返回该对象

}

1=调用工厂方法创立对象1

2=调用工厂方法创立对象2

1调用对象方法

2调用对象方法

带参数的工厂方法:

(){

=;

=;

=;

={

(",");

};

;

}

1=("","123");

2=("","456");

1;

2;

上面两种不带参数和带参数的工厂方法缺点:

每创立一个对象,内存中就创立一个方法,比拟浪费内存,且影响性能。而我们的期望是,创立两个不同的对象,它们的属性是不一样的,但方法是共用的。所以接下来我们需要改良工厂方法。

改良的工厂方法:

{

(",");

}

(){

=;

=;

=;

=;

;

}

1=("","123");

2=("","456");

1;

2;

将方法定义在函数外面,这样每创立一个对象,方法都是共用的。让一个函数对象被多个对象所共享,而不是每一个对象都拥有一个函数对象。

〕构造函数方式创立对象

不带参数的构造函数:

{

在执行行代码前,引擎会为我们生成一个对象

="";

="123";

={

(",");

};

此处有一个隐含的语句,用于将之前生成的对象返回〔也是跟工厂方式不一样的地方〕

}

p1=;

p1;

带参数的构造函数

(){

=;

=;

={

(",");

};

}

p1=("","123");

p2=("","456");

p1;

p2;

〕原型〔〕方式创立对象

是对象里面的一个属性

{

}

="";

="123";

={

(",");

};

p1=;

p2=;

p1=""对象生成之后再去改变属性

p1;

p2;

单纯地使用原型方式有两个问题:,你无法在构造函数中为属性赋初值,只能在对象生成之后再去改变属性值。

{

}

=;

="123";

={

(",");

};

p1=;

p2=;

p1("");

p1("");

p1="456";

p1;

p2

浏览器将会打印:,,456和,,123.

如果使用原型方式创立对象,则生成的所有对象会共享原型中的属性,这样一个对象改变了该属性也会反响到其他对象当中。所以单纯地使用原型方式是不行的,还需要结合其他方式。接下来我们会继续介绍。

使用原型+构造函数方式来定义对象

{

=;

="123";

}

={

(",");

};

p1=;

p2=;

p1("");

p2("");

p1;

p2;

使用原型+构造函数方式来定义对象,对象之间的属性互不干扰,各个对象间共享同一个方法,这是一种比拟好的方式。

v〕动态原型方式

{

="";

="123";

(""){

("");

={

(+","+);

}

=;

}

}

p1=;

p2=;

p1;

p2;

在动态原型方式中,在构造函数中通过标志量让所有对象共享一个方法,而每个对象拥有自己的属性。上面代码在次创立对象时,首先通过一个判断语句,看属性是否已经定义,假设没有定义,则通过原型方式添加方法,然后将设置为,则当第二次创立对象时,语句判断为假,跳过执行。这样就到达了我们所期望的结果,创立的对象属性是互不干扰的,而对象的方法是共享的。

17、中对象的继承〔5种方式〕

种方式:对象冒充

冒充对象继承

父类

(){

=;

={

();

};

}

子类

(){

下面三行代码是最关键的

=;

();

;

=;

={

();

};

}

p=("");

c=("","123");

;

;

第二种方式

继承的第二种实现方式,方法方式,方法是对象中定义的方法,因此我们定义的每个函数都拥有该方法。方法的个参数会被传递给函数中的,从第2个参数开场,逐一赋给函数中的参数。

继承父类

(){

(",");

}

=;

="";

相当于调用了函数

(,"5")将赋给了

接下来我们用方式实现对象的继承

父类

(){

=;

={

();

};

}

子类

(){

();

=;

={

();

};

}

p=("");

c=("","123");

;

;

;

第三种方式

继承父类

父类

(){

=;

={

();

};

}

子类

(){

(());

=;

={

();

};

}

p=("");

c=("","123");

;

;

;

方法及方法很类似,方法也是定义在对象中的方法,因此我们定义的每个函数都拥有该方法。

方法及方法有一个区别:(());传递的第二个参数为一个数组,而方法传递的是一些离散的数据参数。这两个方法并不能说谁好谁坏,要看具体使用场景。

第四种方式:原型链方式〔无法给构造函数传递参数〕

原型链继承

{

}

="";

={

();

};

{

}

=;

="";

={

();

};

c=;

;

;

单纯使用原型链方式的缺点:没有方法传递参数,只有等对象创立完之后再去修改。我们接下来结合其它的方式解决这个问题。

第五种方式:混合方式(推荐)

使用混合方式实现对象的继承

(){

=;

}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论