Javascript 基础学习-面向对象

编程思想概述

面向过程:凡事亲力亲为,每个过程都要知道(个人作坊)。
面向对象:根据需求找对象,所有的事情对象来做,注重结果(大企业)。
面向对象特性:封装,继承,多态。
JS不是面向对象语言,但是可以模拟面向对象的思想。
JS是一门基于对象的语言。


创建对象

创建对象的三种方式:
1、调用系统构造函数创建对象
这种方式存在两个问题:
一个问题是创建对象代码重复
另外一个是对象类型缺乏区分,大家都是object

var obj=new Object();

//添加属性
obj.name="小姐姐";
obj.sex="女";
obj.age="18";

//添加行为
obj.love=function(){
    alert("i love you");
}
 //  对象调用
 
alert(obj.sex); 
obj.love();

2、工厂模式创建对象

将创建对象的代码进行封装,解决代码重复问题

function createObject ( name,age ) {
     var obj=new object();
     obj.name=name;
     obj.age=age;
     obj.sayHi=function(){
          
          alert("大家好,我叫:"+this.name+"我今年:"+this.age);
       }
       return obj;
}

// 调用函数创建对象,调用对象方法

var pr1=creatObject("小芳",18);
pr1.sayHi();
var pr2=creatObject("小绿",20);
pr2.sayHi();

3、自定义构造函数创建对象
函数和构造函数的区别在于:名字是不是首字母大写。
解决对象识别问题

function Person(name,age){
      
      this.name=name;
      this.age=age;
      this.sayHi=function(){
         alert("我叫:"+this.name+"我今年:"+this.age);  
      }
}
var obj=new Person("小明",20);
alert(obj.name);
alert(obj.age);
alert(obj instanceof Person);

在这里插入图片描述

4、字面量的方式创建对象

这种方式的缺陷:一次性的对象

var obj={};
obj.name="小白";
obj.age=10;
obj.syaHi=function() {
     alert("我是字面量创建的对象");
}

//优化后的写法  把等号变成冒号,中间用逗号隔开
var obj2={
     name:"小明",
     age:10,
     sayHi:function(){
           alert("我是字面量创建的对象");
     }
}

JS是一门什么样的语言

  • 是一门解释性的语言
  • 是一门脚本语言
  • 是一门弱类型语言,变量申明都用var
  • 是一门基于对象的语言
  • 是一门动态类型的语言:
    1、只有执行到变量的位置,才知道变量是什么类型的。
    2、对象通过点来增加属性或者方法

JSON格式数据
对象是一组无序属性集合,属性值可以是任意数据类型
JSON格式也是对象,数据都是成键值对出现

var json={
  "name":"小明",
  "age":"20",
  "sex":"男"
}
alert(json.name);
alert(json["name"]);   //JSON格式用这种

// 遍历Json数据
for(var key in json){
    alert(ke+"======"+json[key]);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值