前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版

JavaScript面向对象程序设计

首页2016-07-27 00:36:43Front-End
JavaScript
  • object对象
  • new关键字代表的是新开辟一块内存空间

  • 没有被引用的内存空间,会在适当的时候被销毁

    • 两句代码含义等同
      • var person = new Object();
      • var person = {};
  • 访问对象的属性除了用 对象引用.属性 key以外,还可以使用对象引用[属性key]

  • 面向对象的程序设计

    • function构造器

      • 共同点:
        • 动态创建一块内存空间,闭包
      • 不同点:
        • 函数调用是没有办法拿到空间的地址的,而且这块地址是一块临时地址,执行完函数之后,就会销毁
        • new开辟内存空间,把这块空间的地址返回,这块空间就有可能长期的被引用
    • prototype原型

      • 通过原型使通过同样一个构造器所new(创建)出来的对象具有相同的属性和行为
      • prototype本质就是一个对象
    • foreach

    • this 指代当前创建的这块内存 this.name=name 指代当前内存中的这个name属性 接收外界传过来的值

    • 继承

    • 本质就是从一个prototype对象中把它的功能都copy到另一个prototype对象

    • 继承为什么要循环

    • 封装(面向对象程序设计过程)

      • 1:找对象 小头爸爸 大头儿子 饭
      • 2:抽象(类,构造器)
      • 3:创建对象并且建立关系(操作对象)
  • prototype内存解析

    • prototype是原型,是一块所有对应构造器创建的对象都共享的内存空间
    • 在面向对象设计程序的时候,属性应该是对应的空间的,而功能应该是prototype公共空间的
  • 通过prototype扩展功能

    • 所有的构造器都是继承于Object构造器的,因此只要Object的原型里有的功能,所有的对象都有
  • call、apply方法

    • func.call(obj):调用func的时候,以obj这个对象的作用域去调用

    • 改变函数在调用的时候里面闭包的作用域

    • call(obj,arg1,arg2,arg3);call第一个参数传对象,可以是null。参数以逗号分开进行传值,参数可以是任何类型。 apply(obj,[arg1,arg2,arg3]);apply第一个参数传对象,参数可以是数组或者arguments 对象

fe

← parsetInt-parsetFloat与eval-isNaN用法JavaScript语言基础之正则表达式(十) →