js学习笔记30----对象

面向对象
对象:是一个整体,对外提供一些操作。JavaScript的所有数据都可以被视为对象。简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。
比如说:
var o = {
    p: "Hello World"
};
上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为“成员”),p是“键名”(成员的名称),字符串“Hello World”是“键值”(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。
面向对象:使用对象时,只关注对象提供的功能,不关注其内部细节。
面向对象编程(OOP)特点
1.抽象:抓住核心问题

“对象”是单个实物的抽象。

一本书、一辆汽车、一个人都可以是“对象”,一个数据库、一张网页、一个与远程服务器的连接也可以是“对象”。当实物被抽象成“对象”,实物之间的关系就变成了“对象”之间的关系,从而就可以模拟现实情况,针对“对象”进行编程。

2.封装:不考虑内部实现,只考虑功能使用
3.继承:从已有对象上,继承出新的对象
—— 多重继承
—— 多态
对象的组成
1.方法:对象的行为(完成某种任务)
2.属性:对象的状态



变量和属性本质是一个东西,任何特性都是相同的。
变量没有所属关系是自由的,不属于任何东西,而属性属于一个对象。
this:当前的方法属于谁,谁就是this。
 
示例代码:
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>面向对象</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script>
            window.onload = function(){
               
               var arr=[1,2,3,4,5];

               var a=12;    //变量:自由
               arr.a=5;     //属性:属于一个对象

               function show(){ //函数:自由
                   alert("1");
               }
               
               arr.fn = function(){ //方法:属于一个对象
                   alert("1");
               }
            }
        </script>
    </head>
    <body>
    </body>
</html>
 
原文地址:https://www.cnblogs.com/sese/p/7342122.html