一个大四求职菜鸟的web前端之路(四)

        我知道这是一条很辛苦的道路,做程序员,哪个不是抱着一种坚定的决心的,不然也不会屡屡给人们生活带来了巨大改变。而能够通过自己改变世界应该是每一个程序员最大的野心吧,虽然现在留给我们这些后继者的道路越来越窄,但我坚信,付出与回报是成正比的,就算不能成为潮流的引领者,也要成为一朵小浪花。

171.对元素的类进行操作,addClass()(添加类)removeClass()(移除类),hasClass()(判断是否存在类),toggleClass()(在元素没有该类时则添加,当元素存在该属性时则移除),这些是对CSS类进行操作。
172.$().val()获取和设置表单值,对于不同类型的输入框有不同的处理方式,加上选择器可以对表单进行更加强大的操作。
173.$().text()不带参数使用时返回所有匹配的的元素的所有子孙节点的文本内容和$().html()。
174.$().offset()可以获取无参或者设置元素的位置带参数,返回一个带left(x)和top(y)的对象。position()方法与该方法类似,只是只能getter,返回的是相对于父元素的偏移位置
175.$().date()用来获取或设置文档元素,与document或window对象相关联的数据。
176.$().append()/appendTo()在被选元素的结尾处添加,$().prepend()/prependTo()在被选元素开头处添加,$().before()/insertBefore()在被选元素前添加,$().after()/insertAfter()在被选元素之后添加。注意区分:前面两个是在元素内部添加,后面两个是在元素外部。$().replaceWith()/replaceAll()替换选中的元素
177.$().clone()克隆功能,$().warp()/wrapAll()包装元素相当于包上一层.
178.元素的移除功能$().empty()会移除所有选中的元素的子节点$().remove()则会删除选中的元素及其的子节点,移除所有事件处理程序,以及绑定在被移除元素上的数据,$().detach与$().remove()类似但是不会移除事件处理程序以及绑定在被移除元素上的数据。$().unwrap()则是用来移除父元素的。
179.$().fadeIn()元素淡入,$().fadeOut()元素淡出,$().fadeTo()需要不透明度的参数。jquery.fx来设置速度,还有动画开关。元素仍保留所占位置。
180.$().show()元素显示,$().hide()元素隐藏,$().toggle()用来切换隐藏与展示。
181.$().slideUp()隐藏元素,使得元素的高度动态减少为0,然后设置CSS样式为display:none,$().slideDown()则与之相反,$().slideToggle()则是向上向下滑动分别可见和隐藏。
182.自定义动画效果时$().animate()传入样式和变化效果。
183.动画的取消,延迟和队列$().stop()用来停止选中元素上正在执行的任何动画,$().top(bool, bool)如果第一个为true会停止被选中元素的正在进行和还要进行的动画,如果第一个为false(默认)第二个参数为true则是变化到设定的值,如果为false则是保留当前的。
184.动画的延迟$().delay(),传入延迟的事件的参数。
185.jquery.ajax,$().load(),请求是否成功会调用回调函数返回success,notmodified,error,timeout,parsererror。
186.jquery的ajax工具函数能够直接通过jQuery.或者$.来调用。jQuery.getScript()可以用来加载指定URL的JS文件,可以是同源,也可以跨域。而它的第二个参数可以传进一个回调函数
187.选择器十分有用,特别是一些动态加载过来的页面,要确定在组合而成的新页面中,元素的哪个属性是可以确定的。
188.为了让浏览器提前缓存图片,可以在
189.声明并给JS对象赋值后,再次用var声明不重新赋值,变量的值不会丢失。
190.JS变量的生命周期从声明开始;局部变量在函数运行后删除;全局变量在页面关闭后删除;如果向还未声明的变量赋值,则自动声明一个全局变量;JS变量还有个特性会将声明提前(先使用变量,在声明变量,变量的返回值为undefind)
191.一些事件:onclick, onchange, onfocus, onblur, onload, onunload, onmouseover, onmouseout, onmousedown, onmouseup.
192.要向HTML DOM中添加新的元素,需要先创建元素,然后再往已存在的元素里添加(在文档加载完成后使用document.write会覆盖之前的文档)document.creatElement()创建元素节点,document.creatTextNode()创建文本节点,.appendChild()往节点的最后新增子节点;
193.删除HTML DOM中删除元素,必须先找到父节点,再找到要删除的子节点,然后调用removeChild();
194.$(document).ready()文档加载完成后触发的事件,可以被多次调用并按照顺序执行;即便是在浏览器事件发生之后将函数传给$(document).ready();异步处理事件预定,必要时可以延迟脚本;
195.$美元符号被占用怎么办:1.直接使用jquery.noConflict()放弃对$美元符号的使用,让后再用完整的jquery()来获取对象;2.指定替代词 var Jq = jquery.noConflict()来代替美元符号;3.用jquery()获取对象,在语句块内部还是能够使用;
196.属性选择符:$('img[alt="具体的值"][]')这样可以选择图像元素中alt属性等于某个值;可以用类似于正则表达式的形式来匹配^表示字符串在开始的地方,$表示字符串在结尾的地方,*表示字符串可以在任意地方出现。且可以组合使用
197.自定义的选择器$('div:eq(0)')第0个div元素;$('div:nth-child(2)')属于父元素的子元素是div的元素(从1开始编号);$('div:odd')和$('div:even')记住元素是从0开始编号的;$('div:contians()')用来选择子元素
198.基于表单元素的选择符$('div:input')    
199.filter()过滤器:$('div:').filter();$('div:').next()匹配内容的下一个;$('div:').nextall()后面全部;$('div:').prev()前面一个;$('div:').prevall()前面全部;$('div:').siblings()处于同级的元素;
200.$('div:').get();获取DOM元素
201.原生的window.onload事件和$(document).ready有点区别:前者在完全加载完成后才会触发,而后者则在DOM元素加载完成并可用后触发(内容多时有区别,后者更加实用)
202.jquery中this指的是DOM元素,而不是jquery对象,用原生的javascript得到的是DOM元素,而jquery对象则是通过$()来得到的,两者间可以相互转化通过[]和.get(),因为jquery对象是一个集合,两者的方法不可混用,平时实用的可以有意识的加$来区分
203.$('div:').hover()两个函数作为参数,第一个参数在鼠标进入元素时触发,第二个参数在鼠标离开元素时触发;
204.事件捕获从外到内,最外层元素先响应,事件冒泡从内到外,具体元素先响应;一般是两种情况同时存在,先执行事件捕获,在执行事件冒泡;jquery在事件冒泡之后注册;用mouseenter和mouseleave还有hover都能有效的防止事件冒泡;
205.通过event.tagart来确定DOM先接收到事件的元素;event.stopPropagation()来停止事件;阻止默认操作.preventDefault()可以使用
206.$('div:').is()可以接收一个选择符用来测试选中的对象;$('div:').off()移除绑定的事件,为了移除具体的某项需要更具体的选择;$('div:').on()重新绑定事件;$('div:').targart()用来模仿用户操作;
207.$('div:').css()用来获取或者设置样式,paraseFloat()能够将参数开始为数字的转化成浮点数(如果开始为非数字则返回NAN);
208.$('div:').hide("duration")与$('div:').show("duration"),$('div:').toggle()能够产生动画效果逐渐改变元素的高度,宽度和不透明度;传入fast与slow来指定速度;
209.$('div:').fadeIn()$('div:').fadeOut()淡入淡出;$('div:').slideDown()$('div:').slideUp()仅改变元素的高度$('div:').slideToggle();$('div:').animate()用来创建自定义动画(控制动画队列);
210.$('div:').attr(需要设置的属性,需要设置的属性的值)
211.值回调,把参数通过函数来设置,能够达到对一类型的操作;
212.在处理HTML元素属性(放置在页面标签的引号内的值)与DOM元素属性(能够用JS存取的值)的属性的时候要注意是否有对应的存在
213.$('div:').prop()可以获取和设置DOM属性;$('div:').clone()创建任何匹配的元素的集合的副本
214.$('div:').load()追加HTML块;异步的请求要发出请求马上恢复脚本执行;
215.$.getJSON()解析得到的JSON格式文件;$.each(data, function())循环;$.getSctipt()获取js文件;$.get()获取指定路径的文件,参数为URL和function()
216.$.serialize()序列化表单,将匹配的DOM元素转换成能够随Ajax请求的传递的字符串;jquer.paraseJSON()来解析JSON相对安全,也可以用eval();
217.加载远程地址中的数据的一个方法是创建script标签,并向里面注入一些属性;也可以使用IFframe来加载这样能够避开同源策略的束缚,加载第三方的内容,但这种做法必须要小心;
218.$.ajax({})简单的异步;$.ajaxSetup()能够更改$.ajax()的默认设置,如果不覆盖的话,新的ajax()都将以这个为模板;
219.缓动函数,在设置的时间的开始和结束阶段变化的很慢,而在设定的时间里变化的速度很快;$.effect
220.开发Jquery插件(function($){添加处理的代码})(jquery)这样能够自己定义一些处理函数;$.extend()给全局jquery对象添加属性,同时也可以定义自定义函数;为了避免使用多个插件时出现冲突,可以把自定义的函数封装到一个对象中;
221.添加实例方法,jquery.fn.函数/jquery.prototype.函数;在对象方法体内this指的是jquery对象,而在$.each()中则是指的DOM元素(jquery对象与DOM元素的方法不可以混用);在自定义jquery函数时返回jquery对象,这样能够形成方法链
222.参数对象,将插件设计成能够获取对象这样能够提高易用性和一致性;默认参数能够增加插件的强壮性;回调函数作为参数
223..not();对动画的处理要从实际应用效果出发,与动画队列做思考;.stop()用来停止动画;禁用所有效果$.fx.off的属性设置为true;$.fx.speed可以设置速度
224.实现让用户控制排序,会使交互性更好;客户端排序:根据从HTML中提取的内容排序;根据HTML5自定义的数据内容排序;根据表格数据的JSON内容排序;
225.渐进增强,考虑不能使用JS的情况下怎样展示内容而不受影响;jqXHR增强XMLHttpRequest在不同浏览器下的兼容性

你可能感兴趣的:(JavaScript学习)