
正文
javascript重构,代码重构的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
请问各路javascript大侠:Ajax重构中的this.onload.call(this);还有this.onerror.call(this);是什么意思
call方法只能对函数有效。按照上述写法,在上述代码中,应当有这样的语句,
xhr.onload=function(){};
xhr.onerror=function(){};
否则不合理(this.onload会显示未定义)。
再看你的问题,this.onload指向的是绑定在此事件上的函数,一旦调用call函数就会立即执行,看上去的确是如此。后面的this.onerror同理。
相关问答
Q1: javascript问题,关于重构window.alert()后,然后调用window原本的window.alert()的方法
我的理解是这样的。
window._alert = window.alert //临时保存一下;
window.alert = function(){
//写你重构的方法;
return;
}
//下面你想恢复的话就很简单了
window.alert = window._alert;
Q2: jquery javascript 重构dom。通过addClass给一个加上一个类后,通过其它插件操作这个类。
根据你的描述,理下思路
step1.html加载,解析DOM
step2.解析DOM完毕 jQuery插件给所有.popups绑定的click事件
step3.你给你想要的a添加.popups
……
问题就在于插件绑定click事件的时候,你希望的a还没得到.popups,所以不会被绑定click事件。
解决这个问题,就是step3要先于step2执行。
具体如何解决,不知道你的script引入顺序是什么样的,代码的顺序如何,推荐解决办法:
把插件代码尽量放在添加类代码之后。
可能你还是无法解决你的问题,QQ452054962
Q3: javascript是基于对象的还是面向对象的?
在javascript中所有的东西都是对象。(一切皆为对象)
这个可以通过Object.prototype.toString.call(OBJ)来检验~
如果说javascript面向对象,这个不是特别准确,js是一种基于原型链的语言,这个比基于对象的语言诸如JAVA,C#等更加灵活。
如果说他是基于对象,这种说法我完全赞同。
希望对楼主有帮助~
Q4: JavaScript和HTML DOM的区别与联系
区别:
1、javascript
JavaScript 是流行的浏览器脚本语言。容易使用
JavaScript 被网页用来改进设计、验证表单、检测浏览器、创建cookies等应用。
2、HTML DOM
HTML DOM 是 W3C 标准(是 HTML 文档对象模型的英文缩写,Document Object Model for HTML)。
HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。
通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。
HTML DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。
联系:
1、通过 JavaScript,可以重构整个 HTML 文档。可以添加、移除、改变或重排页面上的项目。要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。
2、Javascript主要是利用HTML DOM去获得、改变、创建HTML元素,从而达到美化页面、操作页面元素的目标。因此,在Javascript中最常见的就是各种各样的HTML DOM元素以及它们各自的属性。除了这些DOM元素外,Javascript有自己的对象,例如数组。
3、可以认为Javascript主要是操纵HTML DOM。两者是不一样的。 Javascript是语言,DOM是可以在各种语言中(不仅js,php也有的)动态修改文档的模型。
Q5: jq重构到vue有什么办法
1.先直接砍了jq然后用vue重构。
2.逐条分析你用jq完成的功能,然后列出来,用vue找到合适的替代方案,比如class操作用绑定class判断去做,隐藏显示元素用v-if或是v-show,ajax用axios等等。
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。
它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口。具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展。拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
当时John的想法很简单:他发现这种语法相对现有的JavaScript库更为简洁。但他没想到的是,这篇文章一经发布就引起了业界的关注。
于是John开始认真思考着这件事情(编写语法更为简洁的JavaScript程序库),直到2006年1月14日,John正式宣布以jQuery的名称发布自己的程序库。随之而来的是jQuery的快速发展。
2006年1月John Resig等人创建了jQuery。8月jQuery的第一个稳定版本,并且已经支持CSS选择符、事件处理和AJAX交互。
2007年7月,jQuery1.1.3版发布,这次小版本的变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。
同年9月,jQuery1.2版发布,它去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够对效果进行更为灵活的定制,而且借助新增的命名空间事件,也使插件开发变得更容易。
这个新的套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放、拖拽、排序)的工具。






