什么是JS组件,和插件的区别是什么

JavaScript016

什么是JS组件,和插件的区别是什么,第1张

他们是一个东西,没什么区别。js组件就是把一系列的功能封装起来,包装成一个对象。比如一个表格组件,一个表单组件等等。一个组件必然包含了某种特定的职能,目的在于可以复用。比方说,你的网站需要展示一个万年历,那么最基本的方法,就是自己画table,自己写逻辑,麻烦得一笔。假如我有100个页面,那么是不是说我要把这些代码复制100遍??所以,为了避免这种麻烦,就可以把万年历封装成一个组件,然后做成一个js文件发布,别人下载就行了。

之前介绍bootstrapTable组件的时候有提到它的行内编辑功能,只不过为了展示功能,将此一笔带过了,罪过罪过!最近项目里面还是打算将行内编辑用起来,于是再次研究了下x-editable组件,遇到过一些坑,再此做个采坑记录吧!想要了解bootstrapTable的朋友可以移步JS组件系列——表格组件神器:bootstrap table。

一、x-editable组件介绍

x-editable组件是一个用于创建可编辑弹出框的插件,它支持三种风格的样式:bootstrap、Jquery UI、Jquery。大致效果如下图:

根据博主一贯的风格,这里肯定是选用第一种喽。首先还是给出开源地址吧。

x-editable开源地址:https://github.com/vitalets/x-editable

x-editable文档地址:http://vitalets.github.io/x-editable/docs.html

x-editable在线Demo:http://vitalets.github.io/x-editable/demo-bs3.html

1、x-editable初体验

首先下载基于bootstrap的源码到本地。引用相关文件。

<link href="/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

<link href="~/Content/bootstrap3-editable/css/bootstrap-editable.css" rel="stylesheet" />

<script src="/Scripts/jquery-1.9.1.min.js"></script>

<script src="/Content/bootstrap/js/bootstrap.min.js"></script>

<script src="~/Content/bootstrap3-editable/js/bootstrap-editable.js"></script>

页面元素

复制代码代码如下:

<a href="#" id="username" data-type="text" data-title="用户名">用户名</a>

js初始化

$(function () {

$('#username').editable()

})

数据类型判断可以通过一元操作符typeof,此操作符可以判断大部分JS数据类型。

也可以通过instanceof来判断。如:

var a = []

alert(typeof a)// object

alert(a instanceof Array)//return true

var a = {};

把a定义为对象。

可以通过

a[key] = value;

进行赋值。

判断a对象的长度,可以通过:

var length=0

for(var jsObj in a){

length++

}

js对象没有length属性,不能直接获取对象个数。

取值:a[...key....]

删除数据: delete a[...key....]

以上类似于json格式的js对象。

对于此js对象不保证存放的顺序,存进去与取出来的顺序可能不一致。

要解决此问题,可以使用Array对象来处理。

使对象具有JAVA中Map的功能。

function Map() {

this.elements = new Array()

crud方法在此省略。。。。

}

this.elements.length //获取Array中的元素个数

其它方法可以参考Array对象的特性。

JS代码易于出错,调试JS代码常用firefox浏览器插件Firebug,Aptana等