迅雷登录IFRAME需求小记

最近接手了迅雷的登录注册框iframe,有一个这样的需求:

  牛X页游那边需要使用alert方式提示错误

背景是这样的,原来所有的代码封装在xlQLogin对象里,错误信息全部是用throw new Error来提示的

基本实现思路是这样:

  1)复制另外一个对象,对象里的方法调用原来对象的方法并且try catch 把错误信息alert出来

  2)根据业务ID来限定错误提示方式,最好做成可配置的方式

实现难点:

  前言:javascript的一切实例都是对象,只是对象之间稍有不同,分为原始类型合成类型原始类型对象指的是字符串(String)、数值(Number)、布尔值(Boolean)合成类型对象指的是数组(Array)、对象(Object)、函数(Function)

既然对象分为这两类,他们之间的最大差别是复制克隆的差别。普通对象存储的是对象的实际数据,而引用对象存储的是对象的引用地址,而把对象的实际内容单独存放,因为引用对象通常比较庞大,这是数据开销和内存开销优化的手段。通常初学者很难理解这部分内容,就像对象的原型一样,也是同一个概念。对象的原型也是引用对象,把原型的方法和属性放在单独内存当中,而对象的原型链则指向这个内存地址。尽管这部分内容比较拗口复杂,那其中的原理都是一致的,目的也一致。

  复制的时候要注意,方法属于合成类型,需要使用深度复制,以免出现Bug

  

nothing is impossible,but how long it take
原文地址:https://www.cnblogs.com/gavinphp/p/4779266.html