前一篇提到了 ztree 渲染用户列表,在渲染列表的时候遇到了需要对 JSON 对象进行操作,来改变 ztree 的结构。...ztree 引用了系统中 部门试图的数据集结果,存储为一个 json 对象。其中,通过每个数据的 ParentId 来对应关联树状结构。 需求是,将其中的第二级菜单,也就是部门员工的头衔给删掉。...因为如果直接进行 = 赋值,就会导致数据值判断条件被覆盖,从而遍历异常,而操作无效。...在同事指导下,使用 jQuery 的 extend() 来进行操作。...: true, name: "bar" }; jQuery.extend(settings, options); //结果: //settings == { validate: true, limit:
对象都是被看成是一个数组,each()方法就是专门用来操作数组的。...each():是jQuery中专用于迭代数组的方法,参数为一个处理函数,this表示当前需要迭代的js对象 Jquery事件API JavaScript一大特性就是事件驱动,当用户用了执行了某些动作以后...-1.8.2.js"> 操作,表单的form和method都不是必须的,如果指定了,还是会根据后面Jquery的方法和参数来决定--%...于是乎,Jquery也提供了serialize()这么一个方法,给我们自动把表单中的数据封装成JSON格式的数据 使用之前要注意的是: 为每个jQuery对象设置一个name属性,因为name属性会被认为请求参数名...-1.8.2.js"> 操作,表单的form和method都不是必须的,如果指定了,还是会根据后面Jquery的方法和参数来决定--%
jQuery凭借简介的语法和跨浏览器的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发AJAX的操作。...无论选择器匹配了多个或者零个元素,jQuery对象都不再是null。意味着你只能够用jQuery对象的.length属性来判断选择器是否选中了元素。 获得jQuery对象的示例: 任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。...注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。...在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。
对象都是被看成是一个数组,each()方法就是专门用来操作数组的。...each():是jQuery中专用于迭代数组的方法,参数为一个处理函数,this表示当前需要迭代的js对象 ---- Jquery事件API JavaScript一大特性就是事件驱动,当用户用了执行了某些动作以后...-1.8.2.js"> 15 16 17 18 19操作,表单的form和method都不是必须的,如果指定了,还是会根据后面Jquery的方法和参数来决定...于是乎,Jquery也提供了serialize()这么一个方法,给我们自动把表单中的数据封装成JSON格式的数据 使用之前要注意的是: 为每个jQuery对象设置一个name属性,因为name属性会被认为请求参数名...-1.8.2.js"> 15 16 17 18 19操作,表单的form和method都不是必须的,如果指定了,还是会根据后面Jquery的方法和参数来决定
之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的默认设置。 这方便我们设置error 统一返回样式。..., } , error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数 // jqXHR 是经过jQuery...封装的XMLHttpRequest对象 // textStatus 可能为:null、"timeout"、"error"、"abort"或"parsererror"...} }); ajax发一个请求,参数都不传 // ajax请求, 什么也不传,拿默认设置 $.ajax(); 此时会用默认的配置发post请求,访问/login 地址 可以传url和type...参数改变默认值 $.ajax({ url: "/demo" , // 设置参数改变默认值 type: "GET" , }); Authorization 认证 如果每个请求都需要传Authorization
大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。 最简单的情况下,$.ajax() 可以不带任何参数直接使用。...注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。...在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。...如果指定为 html 类型,任何内嵌的 JavaScript 都会在 HTML 作为一个字符串返回之前执行。...强烈不建议把这个选项设置成 false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。 $.ajax 函数返回它创建的 XMLHttpRequest 对象。
昨天将所有的基础知识进行了回顾,今天继续磕,不死不休~ 今天要说的便是 jquery 这个函数库,毕竟它影响范围之广,不会都不好意说自己会前端?...... // 使用 jquery 对象用 $(this) }; js 对象与 jquery 对象有些许不同,jquery 对象是对 js 对象的封装,然后让其拥有了 jquery 的操作方法...//方式2 获取元素的索引值可以使用 index() 方法 1.3 jquery 动画 通过 animate 方法可以设置元素某属性值上的动画,动画执行完后会执行一个函数。...JavaScript 的对象,可以简单的理解为一个键值对的集合,也就是 python 中的字典,键就是调用每个值的名称,值就是变量、函数、对象这些。...ajax 技术的原理是实例化 xmlhttp 对象,使用此对象与后台通信。jquery 将它封装成了一个函数 $.ajax(),我们可以直接用这个函数来执行ajax请求。 此部分超级重要!超级重要!
数据格式简单, 易于读写, 占用带宽小 如:{"age":"12", "name":"back"} JSON字符串转换为JSON对象: var obj =eval('('+ str +')'); var...obj = str.parseJSON(); var obj = JSON.parse(str); JSON对象转换为JSON字符串: var last=obj.toJSONString(); var...区别: (1) 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。...*频繁操作的DOM,先缓存起来再操作。用Jquery的链式调用更好。...内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。 垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。
首先创建一个新对象,这个新对象的__proto__属性指向构造函数的prototype属性 此时构造函数执行环境的this指向这个新对象 执行构造函数中的代码,一般是通过this给新对象添加新的成员属性或方法...最后返回这个新对象。 下面我们来验证下: function Test() { console.log(JSON.stringify(this)); console.log(this....我们也应该知道,new构造函数就是为了创建对象,你return一个字符串之类的普通类型数据是没有任何意义的,所以我们的关注点应该是return一个特殊的对象。请接着往下看。...new构造函数显式return了new Shadow(),这样返回的结果也就是new Shadow()实例化出来的对象,而不使用new直接调用jQuery(),只是把jQuery()当成一个普通的函数执行...方法怎么创建一个jQuery对象,做了哪些判断逻辑,这些都不是本文关注的重点。
跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域 为什么浏览器要限制跨域访问呢?...比如下面的操作就有安全问题: 用户访问www.mybank.com ,登陆并进行网银操作,这时cookie啥的都生成并存放在浏览器 用户突然想起件事,并迷迷糊糊地访问了一个邪恶的网站 www.xiee.com...,jQuery会自动为你处理数据 success: function(json){ alert('success' + JSON.stringify(json)); }, error: function...('error:'+err); }); 手动实现 不管是jQuery也好,AngularJS也罢,底下都不是发起XHR (XML HTTP Request),而都是通过加载JavaScript的方式来做的...原理很简单,就是用javascript动态加载一个script文件,同时定义一个callback函数给script执行而已。
jQuery学习笔记之DOM操作、事件绑定(2) ————————————————————学习目录———————————————————————— 4.DOM操作 5.事件绑定 源码地址:...该工厂函数会根据传入的 html 标记字符串创建一个 DOM 对象, 并把这个 DOM 对象包装成一个 jQuery 对象返回。 当创建单个元素时, 需注意闭合标签。...但此时复制的新节点不具有任何行为....该方法只考虑子元素而不考虑任何后代元素....如{username:"雷"} json格式 alert(event.data.username); 参数fn:绑定到每个匹配元素的事件上面的处理函数。
//据研究:、、、等标签可以实现跨域,因为有src(a的href),可以获取外域的信息,src属性不受同源策略的限制,可以获取任何服务器上的脚本并执行。...会由jquery自动生成方法名 $.getJSON('http://www.b.com/getdata?callback=?'...以后可以是任何其他 } }); 4.jsonp缺点: ·没有关于调用错误的处理函数,失败会以浏览器默认方式处理 ·只支持get请求。...通过修改document.domain为基础域名的方式来进行通信,但要注意协议和端口也必须相同、 7.每个iframe都有包裹他的window对象,而这个window是最外层窗口的子对象,所以,...13.请求和响应都不包含cookie信息
简单来说,就是 javascript 的字符串和从 java 中获取的字符串不一样,很多字符串操作函数都不支持。需要进行一道转换,转换方法就是对它调用 toLocaleString() 函数。...从 java 中获取的 json 字符串,在 javascript 中要转成 json 对象,一个很简单的方法就是 eval(json) 或 window.eval(json) 。...很简单,就是构造一个函数,这个函数返回这个字符串,然后运行这个函数,就得到了 json 对象。...child.addEventListener('touchend', function(e){ e.preventDefault(); if(Scroll.moved) return;//页面滚动了,不执行任何操作...//否则,在此触发点击事件,执行一些操作 }, false); //用于存储滚动的状态 Scroll = { moved:false, handler:null
每个通过Function构造函数创建的函数对象都有一个prototype属性,且具有call、apply、bind等方法。...JavaScript分为函数对象和普通对象 ,每个对象都有proto属性,但是只有函数对象才有prototype属性,prototype属性就是函数的原型对象。...在浏览器中,DOM的HTML分析器将一个页面转换成一个对象模型的集合,通常称为DOM树。浏览器通过对这个DOM对象模型操作来线上HTML页面。...通过DOM对象的接口,js可以在任何时候访问HTML文档中的任何数据,利用DOM的接口可以无限制的控制HTML页面,可以动态的创建文档,遍历文档结构,对页面结构上的元素进行增、删、改等操作,改变文档的显示方式等...bootcdn远程cdn资源 1.使用jQuery核心函数:$/jQuery 2.使用jQuery核心对象:执行$()返回的对象 DOM 对象加载完毕后,马上执行的函数。
跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域 为什么浏览器要限制跨域访问呢?...比如下面的操作就有安全问题: 用户访问www.mybank.com ,登陆并进行网银操作,这时cookie啥的都生成并存放在浏览器 用户突然想起件事,并迷迷糊糊地访问了一个邪恶的网站 www.xiee.com...,jQuery会自动为你处理数据 success: function(json){ alert('success' + JSON.stringify...也好,AngularJS也罢,底下都不是发起XHR (XML HTTP Request),而都是通过加载javascript的方式来做的,所以如果项目没有依赖jQuery或者AngularJS,则可以自己手动实现...原理很简单,就是用javascript动态加载一个script文件,同时定义一个callback函数给script执行而已。
同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。...cache = data; } }); return cache; } jQuery.each(object, [callback]) 通用遍历方法,可用于遍历对象和数组...可遍历任何对象。 回调函数拥有两个参数 object:需要遍历的对象或数组 callback:每个成员/元素执行的回调函数。...jQuery 代码: $("img").attr("title", function() { return this.src }); 3 文档处理 append(content|fn) 向每个匹配的元素内部追加内容...这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。 ? 4 回调函数 cal.empty() 概述 从列表中删除所有的回调.
在使用jQuery时,需要注意jQuery对象和DOM对象的区别,通常对于jQuery对象,会在变量前加$,如var $variable=jQuery对象;。可以通过如下方式对两者进行转化。...jQuery对象转化为DOM对象: var $cr = $('#cr');var cr = $cr[0]; DOM对象转化为jQuery对象: var cr = document.getElementById...DOM操作 示例 查找结点 获取元素结点:var $li = $('ul li:eq(1)'); 获取属性结点:var p_txt = $li.attr('name'); 创建结点 jQuery工厂方法...之前就介绍的$(document).ready()相信大家都不会陌生,其与window.onload实际上有一些区别的,前者是当DOM加载完成后触发,而后者则是页面中的所有元素(包括所有关联元素)加载完成后执行...接下来,将介绍jQuery库非常吸引人的动画操作,如下表所示。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。...在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。...如果指定为 html 类型,任何内嵌的 JavaScript 都会在 HTML 作为一个字符串返回之前执行。...如果指定为 json 类型,则会把获取到的数据作为一个 JavaScript 对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,它首先尝试使用 JSON.parse()。...强烈不建议把这个选项设置成 false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。 $.ajax 函数返回它创建的 XMLHttpRequest 对象。
事实上,Promise规范没有要求这样做,你甚至可以不做任何的处理(即不传入then的第二个参数)或者统一处理。...同时,then可以接受另一个promise传入,也接受一个“类then”的对象或方法,即thenable对象。 可以看到,Promise规范的内容并不算多,大家可以试着自己实现以下Promise。...这时候,可以对Promise进行各种扩展,比如实现Promise.all(),接受promises队列并等待他们完成再继续,再比如Promise.any(),promises队列中有任何一个处于完成态时即触发下一步操作...标准的Promise 可参考html5rocks的这篇文章JavaScript Promises,目前高级浏览器如Chrome、Firefox都已经内置了Promise对象,提供更多的操作接口,比如Promise.all...第三方库的Promise 现今流行的各大js库,几乎都不同程度的实现了Promise,如dojo,jQuery、Zepto、when.js、Q等,只是暴露出来的大都是Deferred对象,以jQuery
如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象。否则的话,副本会与原对象共享结构。 未定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制。...-1.5.min.js 压缩代码 2.2、获取上下文 插件方法执行范围内可以直接通过this关键字得到上下文,这里的this就是一个jQuery对象,无需使用$(this)将DOM转换成jQuery对象...2.5.2、参数对象 上面的示例中只有一个参数,直接作为方法的参数没有任何问题,但如果参数非常多,且都要默认值,处理就很麻烦,最好的办法是使用参数对象: <!...2.5.2、参数类型 参数对象的类型可是属性,方法,对象,数组等多种形式,也可以使用回调方法,比如这里我们要为插件增加一个执行后的事件changeAfter,当目标元素被修改后触发。...2.8.2、工具压缩与混淆 可以使用GUI工具也可以使用命令行,GUI工具操作非常简单,这里主要讲基于node.js的工具UglifyJS的使用。