JS(JavaScript)中的面向对象编程——详细总结(附源码)

本文深入探讨JavaScript中的面向对象编程,包括面向对象的特征、类与对象的概念,详细讲解JS中默认存在的Number、String等类,并介绍对象的属性操作、函数的多种使用方式以及创建对象的常见方法。通过实例解析,帮助理解JS的面向对象思想。
摘要由CSDN通过智能技术生成

一,什么是面向对象

前言:基本上所有的高级编程语言都是面向对象编程的,其实面向对象就是一种思想,详细解释点击这里

常见的几种思想

  1. 面向过程:(没有类,没有对象,在C语言中有用)
  2. 面向对象(在Java、C++、JS中都有使用)
  3. 面向切面(spring IOC AOP)

二,JS面向对象的几种特征以及类和对象

1,面向对象的几种特征

  1. 抽象:把具体的问题抽象化;
  2. 封装:把属性和方法封装在类中,如
var obj = {
   
                name:"wc",
                age:100,
                say:function(){
   
                    log("say...");
                }
            }
  1. 继承:一个类可以继承另一个类,在JS中,类是通过函数表达式来定义;
  2. 多态:暂时不多说;

2,面向对象中的类和对象

  1. 类: JS中的类的本质还是一个函数,是抽象的,而不是具体的;如下
function Person(){
     // 是一个类的话,首字母会大写 
            }
     new Person(); // 此时Persion是一个类
     Person(); // 此时Person就是一个函数
  • 对象: var obj = {name:"wc"}; 此时obj就表示一个对象,在JS中一个{ }就是一个对象;

三,JS中默认存在的类(常见的)

1,Number类

var n = new Number("100");
    console.log(n); // Number {100}
    console.log(typeof n); // object(对象)
    // instanceof 是一个运算符  判断一个对象是否属性某个类
    console.log(n instanceof Number);  // true(表示n属于Number类)

2,String类

var str = new String("hello oop");
    console.log(str)  // {"hello oop"}
    console.log(typeof str)  // object(对象)
    console.log(str instanceof String);  // true(表示str属于String类)
    console.log(str instanceof Number);  // false(表示str不属于String类)

3,Boolean构造器(JS中构造器也叫类)

var f = new Boolean(false);
    console.log(f)  // {false}
    console.log(typeof f)  // object
    console.log(f instanceof Boolean)  // true

4,Object构造器(存在语法糖)

第一种写法

var obj = new Object();  // new一个构造器得到一个对象
    obj.name = "wc";
    obj.age = 110;
    console.log(obj); // {name: "wc", age: 110}

第二中写法:是第一种写法的语法糖(就相当于上面写法的简写,方便了程序员)

var obj2 = {
     // 字面量形式声明一个对象
        name:"xiaoqiang",
        age:100
    }

5,Data类

var d = new Date();
    console.log(d); 
    console.log(d.getFullYear()) //只获取年份,属于对象中默认的方法;

6,Math类(不需要new)

  • 属于单体内置类,常驻内存不需要new
var r = Math.random(); 
    console.log(r); //输出一个随机数

7,Array类

var arr = new Array("a","b","c");
    console.log(arr); // 输出["a", "b", "c"]
    // 是上面的形式的语法糖
    var arr2 = ["d","e","f"];  // 字面量创建数组(对象)
    console.log(arr2); // ["d", "e", "f"]

四,JS中的对象及函数

1,证明:JS中的一切数据都是对象

JS中的HTML元素标签、数组、函数、基本数据类型、console等等 均是对象

数组是对象证明:

var arr = ["a","b","c"]; // 也是Array这个类
    console.log(arr); // ["a", "b", "c"]
    console.dir(arr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值