最近接手了迅雷的登录注册框iframe,有一个这样的需求:
牛X页游那边需要使用alert方式提示错误
背景是这样的,原来所有的代码封装在xlQLogin对象里,错误信息全部是用throw new Error来提示的
基本实现思路是这样:
1)复制另外一个对象,对象里的方法调用原来对象的方法并且try catch 把错误信息alert出来
2)根据业务ID来限定错误提示方式,最好做成可配置的方式
实现难点:
前言:javascript的一切实例都是对象,只是对象之间稍有不同,分为原始类型和合成类型。原始类型对象指的是字符串(String)、数值(Number)、布尔值(Boolean),合成类型对象指的是数组(Array)、对象(Object)、函数(Function)。
既然对象分为这两类,他们之间的最大差别是复制克隆的差别。普通对象存储的是对象的实际数据,而引用对象存储的是对象的引用地址,而把对象的实际内容单独存放,因为引用对象通常比较庞大,这是数据开销和内存开销优化的手段。通常初学者很难理解这部分内容,就像对象的原型一样,也是同一个概念。对象的原型也是引用对象,把原型的方法和属性放在单独内存当中,而对象的原型链则指向这个内存地址。尽管这部分内容比较拗口复杂,那其中的原理都是一致的,目的也一致。
复制的时候要注意,方法属于合成类型,需要使用深度复制,以免出现Bug
转载于:.html
本文发布于:2024-02-01 11:07:21,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170675684136177.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |