JavaScript面向对象编程指南 第一、二章知识点整理

第一章、 面向对象的JavaScript

面向对象程序设计(OOP,Object -Oriented Programming)中最常用到的概念: 对象:是指"事物"在程序设计语言中的表现形式。 这里的"事物"可以是任何东西。例如,对于猫这种常见对象来说,我们可以看到它们具有某些明确的特征(如颜色、名字、体型等),能执行某些动作(如喵喵叫、睡觉等)。在OOP语义中,这些对象特征都叫做属性,而那些动作则被称为方法。 :在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称 "实例")共有的属性和方法 JavaScript与C++或Java这种传统的面向对象语言不同,他实际上压根儿就没有类。该语言的一切都是基于对象的,其依靠的是一套原型(prototype)系统。而原型本身实际上也是一种对象。 在传统的面向对象语言中,我们一般会这样描述:"我基于Person类创建了一个叫做Bob的新对象"。而在这种基于原型的面向对象语言中,我们则要这样描述:“我将现有的Person对象扩展成了一个叫做Bob的新对象。” 封装:封装主要用于阐述对象中所包含的内容,通常由两部分组成。

  • 相关的数据(用于存储属性)。
  • 基于这些数据所能做的事(所能调用的方法)。

聚合:将几个现有对象合并成一个新对象的过程。 继承:在传统的OOP环境中,继承通常指的是类与类之间的关系,但由于JavaScript中不存在类,因此它的继承只能发生在对象之间。通过继承这种方式,我们可以非常优雅地实现对现有代码的重用。 多态:不同对象通过相同的方法调用来实现各自行为的能力,我们就称之为多态。

第二章、基本数据类型、数组、循环及条件表达式

2.1 基本数据类型综述 2.1.1JavaScript语言中有五大基本数据类型:

  • 数字;
  • 字符串;
  • 布尔值;
  • undefined;
  • null。

任何不属于基本类型的东西都属于对象。 2.1.2 数字类型可以储存的数据包括:正负整数、浮点数、十六进制与八进制数、指数以及特殊数值NaN、Infinity、 -Infinity。 2.1.3 字符串类型存储的是一对引号之间的所有字符。 2.1.4 布尔类型的值只有两个:true和false。 2.1.5 null类型的值只有一个:null。 2.1.6 undefined类型的值只有一个:undefined。 2.1.7 绝大部分值在转换为布尔类型事都为true,但以下6种falsy值除外:

  • ""(空字符串,若" "引号里面有空格结果就不一样了,转换为布尔类型为true);
  • null;
  • undefined;
  • 0;
  • NaN;
  • false。

2.3.2 Infinity Infinity表示的是最大的数,-Infinity表示的是最小的数,任何数除以0结果也为Infinity,不包括0,0除以0得到的是NaN。正负Infinity做算术运算得到的是NaN,Infinity与其他任何操作数(即数字类型里除了NaN和正负Infinity)执行任何算数运算的结果也都等于Infinity。 2.3.4 惰性求值 a&&b:将a,b转换为Boolean类型,在执行逻辑与,true返回b,false返回a; a||b:将a,b转换为Boolean类型,在执行逻辑或,true返回a,false返回b 2.9 练习题 编写一个打印乘法口诀的脚本程序。提示使用嵌套语句来实现。

for(var i=1;i<10;i++){
    for(var j=1;j<=i;j++){
        document.write(j+"*"+i+"="+i*j+" ");
    }
    document.write("<br>");
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

2302
来自专栏linux驱动个人学习

高通Audio中ASOC的machine驱动

ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的...

9774
来自专栏我和未来有约会

简练的视图模型 ViewModel

patterns & practices Developer Center 发布了 Unity Application Block 1.2 for Silver...

2179
来自专栏linux驱动个人学习

高通msm8909耳机调试

1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s...

7505
来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1112
来自专栏MelonTeam专栏

Bitmap 源码阅读笔记

导语: Android 系统上的图片的处理,跟Bitmap 这个类脱不了关系,我们有必要去深入阅读里面的源码,以便在工作中能更好的处理Bitmap相关的问题...

2498
来自专栏WOLFRAM

向日葵中的数学之美

1833
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1182
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1282
来自专栏Petrichor的专栏

Dataset 列表:机器学习研究

In computer vision, face images have been used extensively to develop face recog...

1511

扫码关注云+社区