7、js插件编写表单序列化插件
前端的三大框架:Vue.js,React.js,Angular.js
Node.js(js里可以写后台代码)
MVC和三层架构的区别
Jquery插件
全局方法:
$.ajax();$.post();.…
实例方法:
$(“#xxx”).val().……
1定义全局方法
格式:$.方法名=匿名函数
$.myajax = function () {//调用方式:$.myajax();
alert("hello");
}
$.extend({
myget: function () {//调用方式:$.myget();
alert("hello2");
},
myget2: function () {//调用方式:$.myget2();
alert("hello3");
}
});
2 定义实例方法
使用fn这种方式,里面的$(this)就是fn,也就是哪个元素调用的方法,this就是谁
格式:$.fn.方法名=匿名函数
$.fn.mycss = function (val) {//调用方式:$("#t1").mycss();
$(this).val(val);
}
调用方式:$(“#t1”).mycss(“aaaaaaa”);
不这样调用会报错
单独写js文件的坑
一般在一个单独的js文件的里写function(){}匿名函数,匿名函数的作用是为了保护里面的内容,第一行前面加分号为了防止当这个js文件接上其它的js文件时,别人的js文件如果最后没有加分号就会把你的文件当做调用别人写的js的方法,里面的内容就会当作参数
比如如下图:
自己编写js文件,新建一个js文件,在里面写即可,要用的时候引用即可,如下图
正确的编写js文件的格式如下图:
练习,定义一个表单序列化的方法,并且单独建一个js文件
;(function ($) {
//自定义的序列化
$.fn.myserialize = function () {
var obj = $(this).serializeArray();//先序列化表单
var obj2 = {};//用来存新对象
$(obj).each(function (index, value) {//循环给对象属性赋值
//添加属性名和属性值
obj2[$(value).prop("name")] = $(value).prop("value");
});
//返回新对象
return obj2;
}
})(jQuery);
serializeArray和serialize序列化的坑:
使用这两个序列化只会序列化表单或者是某个元素里有name的元素
比如:比如表单中学号和用户名没name属性,那么序列化后的对象或者字符串就没有这两个属性
序列化后的值:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构