什么是面向对象

什么是面向对象
1、面向对象的概念
面向:将脸朝向……-> 关注,用
面向过程:关注编程步骤,细节的编程方式(自己动手完成)
面向对象:关注对象,找到对象,让它帮你做,等结果
面向过程就是亲力亲为, 事无巨细, 面面俱到, 步步紧跟, 有条不紊
面向对象就是找一个对象, 指挥得结果
面向对象不是面向过程的替代, 而是面向过程的封装
2、对象是什么
A.对象是存储数据的数据集,是提供功能的功能集,对象可以用来保存数据
B.使用对象来添加一些特定的功能
var itcast = { tag:function(){}, addCss:function(){}}
使用方法: itcast.tag(参数)
3、在js中,对象就是键值对的集合,名词
4、使用面向对象编程(实际开发的时候如果需要完成一个功能)
①首先考虑系统是否提供了对象(使用现有对象)
document, 标签对象
②如果系统没有提供,就自己创建一个对象或者第三方(自定义对象)
注意:函数==>使用js代码编写的一个普通的function就是函数
方法==>使用对象添加的功能(函数)就是方法
三、面向对象的特性
1、抽象性:抽取我们所需要的数据信息
2、封装性:留下一些能使用的特性
3、继承性
四、值类型与引用类型
数字 + 上下文 = 信息
内存就是一个可以存储数字(数据)的盒子
1、JavaScript 中的数据类型
A基本类型(值类型): 数字, 布尔, 字符串
B复合类型:(引用类型 : 对象( 数组, 时间, 正则, Object , 函数等 )
C空类型: Undefined, Null
复合类型除函数其它的无法通过typeof获得数据类型,要使用Object.prototype.toString.apply()
2、数据存储模型:“盒子” 与数据的逻辑结构
A.基本数据类型和空类型的存储模型:一个方格里面放一个数据
B.复合类型的存储模型:
复合类型的对象是一个单独的内存区域, 对象有什么属性, 那么内存区域中就有什么数据。变量 p 只存储该对象的 ‘地址’. 所以 p 不是真正存储数据的区域.
3、值类型与引用类型的存储特征
①值类型的数据, 只需要开辟一段内存存储数据即可
var a = 123; var b = ‘abc’; var c = true;
②对象类型( 引用类型 ). 对象才是真正的数据, 需要占据单独的内存.
而变量名只是存储着对象的内存地址( 引用 ).
即创建一个对象并赋值, 实际上需要两块内存空间. 一个存储数据( 对象 ),
另一个存储变量名以引用对象.
4、值类型与引用类型的赋值与传参的特性
-> 赋值: 将原变量中的数据拷贝一份, 然后赋值给新的变量中
① 值类型//拷贝的是实际的数据
② 引用类型//把变量的引用地址拷贝一份给新的变量,此时新的变量旧的变量都是指向 了同一个对象
var o1 = { num: 123 };
var o2;
// 赋值
o2 = o1; // 将 o1 中存储的内容 拷贝一份 存储到 o2 中
// o1 中存储的是引用, 或 ‘地址’
o1 和 o2 虽然是不相同的两个变量, 即两个独立的盒子. 但是由于存储的地址相同.
在访问数据的时候, o1 与 o2 也是访问同一个数据, o1 将数据修改了, o2 再读取,
读取的就是修改后的数据.
-> 函数参数传递
-> 什么是函数参数传递
在调用函数的时候, 会将参数中表示的数据拷贝一份, 然后给参数赋值
function foo( num ) {}
// 调用
var a = 123;
foo( a ); // 调用函数就是要执行函数// 将 a 中存储的数据 拷贝一份
// 进入 函数 foo// 给参数赋值, 相当于 num = a
// 进入函数体, 开始执行函数
总结:值类型引用类型的数据的传参
参数是值类型,函数中对参数的任何改变都不会影响到函数
参数是引用类型,函数中对参数对象的改变会影响到函数外的实参

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值