一、对象的多种表现形式

  1、提高对象的复用性

  2、如何配置参数和默认参数

不知道该怎么描述,就直接上代码吧,下面做了2个例子,重点看整个组件的大体结构

用组件的方式做拖拽窗口,你可以狠狠的点击这里进行查看

用组件的方式开发简易弹窗,你可以狠狠的点击这里进行查看

二、组件的定义

  1、将对面向对象的深入应用(UI组件,功能组件)

  2、将配置参数、方法、事件、三者进行分离

  例子:可参照jquery UI 官网上,查看其中的一个组件就能说明了这些问题。

三、我们可以创建自定义事件

  1、有利于多人协作开发代码

  2、重点:挂载自定义事件与事件函数

给项目配置不同的参数

//配置参数
var a = {
name : '小明'
}
//默认参数
var b = {
name : '小强'
} extend(b ,a) alert(b.name)
function extend(obj1,obj2){
for(var attr in obj2){
obj1[attr] = obj2[attr]
}
}

可查看做的两个学习实例,重点看实例实现的方式,怎么调用,怎么挂载,怎么实现

1、基于jq的选项卡组件开发,你可以狠狠的点击这里进行查看

ps:在项目开发中,在写组件的时候,建议尽量用.addEventListener()的方式来绑定事件,不管是系统事件还是自定义的事件

  

js面向对象(三)---组件开发的更多相关文章

  1. js--基于面向对象的组件开发及案例

    组件的开发:多组对象之间想兄弟关系一样,代码复用的形式. 问题:1).参数不写会报错:利用对象复制————配置参数和默认惨啊书的覆盖关系(逻辑或也可以)2).参数特别多时会出现顺序问题:json解决 ...

  2. Vue.js的复用组件开发流程

    本文由蔡述雄发表 接下来我们会详细分析下如何完成由多个组件组成一个复用组件的开发流程. 下面先看看我们的需求 列表组件quiList.vue 本节我们主要要完成这样一个列表功能,每一行的列表是一个组件 ...

  3. [js开源组件开发]localStorage-cache本地存储的缓存管理

    localStorage-cache本地存储的缓存管理 距离上次的组件开发有近三个月的时间了,最近一直在做一些杂事,无法静下心来写写代码,也是在学习emberjs,在emberjs中有一个很重要的东西 ...

  4. 原生JS面向对象思想封装轮播图组件

    原生JS面向对象思想封装轮播图组件 在前端页面开发过程中,页面中的轮播图特效很常见,因此我就想封装一个自己的原生JS的轮播图组件.有了这个需求就开始着手准备了,代码当然是以简洁为目标,轮播图的各个功能 ...

  5. Vue (三) --- Vue 组件开发

    ------------------------------------------------------------------好心情,会让你峰回路转. 5. 组件化开发 5.1 组件[compo ...

  6. 前端js面向对象编程以及封装组件的思想

    demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...

  7. 关于前端js面向对象编程以及封装组件的思想

    demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...

  8. vue 开发系列(三) vue 组件开发

    概要 vue 的一个特点是进行组件开发,组件的优势是我们可以封装自己的控件,实现重用,比如我们在平台中封装了自己的附件控件,输入控件等. 组件的开发 在vue 中一个组件,就是一个独立的.vue 文件 ...

  9. js组件开发-移动端地区选择控件mobile-select-area

    移动端地区选择控件mobile-select-area 由于之前的[js开源组件开发]js手机联动选择地区仿ios 开源git 很受欢迎,于是我又对其进行了一些优化,包括可选的范围变大了,添加了默认空 ...

随机推荐

  1. EOJ 1058. 挤模具 (多边形面积)

    题目链接:1058. 挤模具 题意 给出模具的底和体积,求模具的高. 思路 模具的底为多边形,因此求出多边形面积,用体积除以底的面积就是答案. 多边形的面积求解见 EOJ 1127. 多边形面积(计算 ...

  2. elementui表格表头合并

    第一步:用多级表头,该删删 该减减 第二步:使用header-cell-style属性

  3. Java finally块

    try块也可以有零个或一个finally块. finally块总是与try块一起使用. 语法 finally块的语法是: 1 2 3 finally  {     // Code for finall ...

  4. Java输入/输出教程

    Java输入/输出(I/O)处理从源读取数据并将数据写入目标.通常,读取存储在文件中的数据或使用I/O将数据写入到文件中. java.io和java.nio包中包含处理输入/输出的Java类.java ...

  5. 《Hadoop学习之路》学习实践二——配置idea远程调试hadoop

    背景:在上篇文章中按照大神“扎心了老铁”的博客,在服务器上搭建了hadoop的伪分布式环境.大神的博客上是使用eclipse来调试,但是我入门以来一直用的是idea,eclipse已经不习惯,于是便摸 ...

  6. vue $attrs 父组件和孙子组件的传值,传函数

    上一篇我们说到provide/inject的依赖注入的传值方法,今天我们来说一下另一个父组件给孙子组件的传值方式$attrs 我们接着上一个例子继续来写 parent父组件 我们给child子组件穿了 ...

  7. Vue_子级组件调用主组件函数

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. Mybatis-概况

    是什么 官网定义 http://www.mybatis.org/mybatis-3/ 百科定义(维基百科) https://en.wikipedia.org/wiki/MyBatis Github: ...

  9. 学习记录:@Transactional 事务不生效

    测试时使用spring boot2.2.0,在主类中调用,@Transactional 不起作用,原代码如下: @SpringBootApplication @Slf4j @Component pub ...

  10. MySQL练习题--sqlzoo刷题2

    SELECT from Nobel Tutorial 1.Change the query shown so that it displays Nobel prizes for 1950. SELEC ...