最火下载站首页
手机版
最火下载站
关注公众号
最火下载站

当前位置:首页 > 网络知识 > Web前端 > Ajax/JavaScript> JavaScript 重点且难点

JavaScript 重点且难点

文章作者:网友投稿 发布时间:2019-06-14 14:31:24 来源:网络

JavaScript 是一种动态类型、弱类型、基于原型、内置支持类型的直译式脚本语言,它的解释器被称为JavaScript引擎,为浏览器的一部分,如今已经被广泛用于 Web 应用开发

JavaScript 是一种动态类型、弱类型、基于原型、内置支持类型的直译式脚本语言,它的解释器被称为JavaScript引擎,为浏览器的一部分,如今已经被广泛用于 Web 应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常 JavaScript 脚本是通过嵌入在 HTML 中来实现自身的功能的。接下来,让我们一起学习学习吧!


1、JavaScript 分类:

1)基本数据类型有:string、number、boolean、null、undefined

2)复杂数据类型:对象(广义来说)--Object、Arry、Math、date、String、Function

它们之间的区别:

(1)保存的数据类型不同

(2)内存中的保存方式不同:基本数据类型在内存单元中保存的是具体的值;复杂类型在内存单元中保存的是值的指针(指引、地址)

(3)复制后的结果不同:复制操作就是对内存单元中的值进行拷贝操作,基本数据类型拷贝前后,两个值没有关系;复杂数据类型拷贝前后,两个值是用一个值,如果复杂数据类型拷贝后,对其中的任何一个进行修改内容,那么另一个也会改变。


2、原型 prototype:

在 javascript 中,原型也是一个对象,通过原型可以实现对象的属性继承,javascript 的对象中都包含了一个 prototype 内部属性,这个属性所对应的就是该对象的原型。

yx.png

在上面的代码中,通过了Person这个构造函数创建了一个will对象,接下来打印一下:

console.log(will.__proto__);

console.log(will.constructor);

yx1.png

由此可知:

1)"Person {}"对象就是对象will的原型,"Person {}"作为一个原型对象,也有"__proto__"属性(对应原型的原型)。

2)在JavaScript的原型对象中,还包含一个"constructor"属性,这个属性对应创建所有指向该原型的实例的构造函数。

3)在这里,will对象本身并没有"constructor"这个属性,但是通过原型链查找,找到了will原型(will.__proto__)的"constructor"属性,并得到了Person函数。


3、实例对象、构造函数、原型对象 之三者关系

实例对象:通过构造函数创建的对象,都具有__proto__属性,指向构造函数的原型对象。

                 实例对象通过__proto__访问到自己的原型

构造函数:用于创建实例对象使用,都具有prototype属性,指向原型对象。

                 构造函数通过prototype访问到自己的原型对象

原型对象:具有一个constructor属性,指向构造函数,用于描述构造函数和实例对象之间关系的方式。

                 原型对象通过.constructor访问到自己的构造函数


4、原型链:

当要访问实例的属性时,解析器会执行一次搜索。首先从实例对象开始,如果在实例中找到了这个属性,则返回该属性的值;

如果没有找到的话,则继续搜索 prototype 指针指向的原型对象,在原型对象中查找该属性,如果找到,则返回该属性的值;

如果一直找不到,就会找到 null ,即结束。这就是 javascript 的原型链。


5、闭包:

1)概念:能够读取其他函数内部变量的函数,在本质上,闭包是将函数内部和函数外部连接起来的桥梁

2)优点:实现数据的私有化,增强数据的安全性;

               延长了变量的使用范围

     缺点:滥用闭包,会造成内存消耗,影响网页性能;

               闭包会在父函数外部,改变父函数内部变量的值,因此不要随便改变父函数内部变量的值

3)用途:

  (1)可以读取函数内部的变量

  (2)让这些变量的值始终保持在内存中,不会在函数调用后被自动清除

4)示例:

bb.png


6、构造函数:

1)特点:

  a:构造函数的首字母必须大写,用来区分于普通函数

  b:内部使用的 this 对象,来指向即将要生成的实例对象

  c:使用 New 来生成实例对象

2)示例:

gzhs.png


7、常见的三种继承:

1)借用构造函数继承

缺点: 只能继承父元素的属性,无法继承方法

gzhsjc.png

2)原型继承

缺点: 只能继承父元素的方法,无法修改属性

yxjc.png

3)组合继承(构造函数 + 原型继承)-----常用

完美地实现了继承

zhjc.png

上一篇: Ajax 教程

下一篇: 没有了

共有0条评论网友评论