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 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

JavaScript arguments 对象详解

1. 什么是 arguments MDN 上解释: arguments 是一个类数组对象。代表传给一个function的参数列表。 我们先用一个例子直观了解下 ...

41410
来自专栏程序员的SOD蜜

Release编译模式下,事件是否会引起内存泄漏问题初步研究 疑问:

题记:不常发生的事件内存泄漏现象 想必有些朋友也常常使用事件,但是很少解除事件挂钩,程序也没有听说过内存泄漏之类的问题。幸运的是,在某些情况下,的确不会出问题,...

2376
来自专栏程序员互动联盟

【编程基础】Java初学者需要了解的10个语法细节

语法语法,语法就是语言的法则。汉语有汉语的语法,英语有英语的语法,如果不懂语法那你写出来的句子要不然就是错误,要不然就是生涩难懂。要学习和使用Java语言就要遵...

3324
来自专栏开发技术

cassandra高级操作之分页的java实现(有项目具体需求)

  接着上篇博客,我们来谈谈java操作cassandra分页,需要注意的是这个分页与我们平时所做的页面分页是不同的,具体有啥不同,大家耐着性子往下看。

761
来自专栏一“技”之长

Swift讲解专题十——类与结构体 原

        Swift中的类与结构体十分相似,和Objective-C不同的是,Swift中的结构体不仅可以定义属性,也可以像类一样为其定义方法。

792
来自专栏大史住在大前端

javascript基础修炼(1)——一道十面埋伏的原型链面试题

题目中显式将Child类的原型对象指向了Parent类的一个实例,这是javascript面向对象编程中常见的继承方式之一。此处需要注意Child.prot...

731
来自专栏自然语言处理

Python读书笔记:需要注意的70个小问题

4 单双引号括起来的,字符串可以包含引号和撇号。用法:"this's a cup"

1032
来自专栏Java架构师历程

java基础复习

Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:

852
来自专栏DannyHoo的专栏

OC中的类和对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/de...

1396
来自专栏函数式编程语言及工具

泛函编程(35)-泛函Stream IO:IO处理过程-IO Process

    IO处理可以说是计算机技术的核心。不是吗?使用计算机的目的就是希望它对输入数据进行运算后向我们输出计算结果。所谓Stream IO简单来说就是对一串按序...

18610

扫码关注云+社区