首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏前端干货和生活感悟

    jQuery之getAll()和cleanData()

    //该属性上面就绑定了事件和数据 if ( ( data = elem[ dataPriv.expando ] ) ) { //如果data 属性置为undefined elem[ dataPriv.expando ] = undefined; } //dataUser应该是用户绑定的事件 if ( elem[ dataUser.expando ] ) { // 将元素的dataUser.expando属性置为undefined // Assign undefined instead of using delete, see Data#remove elem[ dataUser.expando ]置为 undefined ⑥ 将 elem[dataUser.expando]置为 undefined ---- 四、acceptData() 作用: 判断是否是指定的节点类型,返回 true/false

    57840编辑于 2022-03-28
  • 来自专栏韩曙亮的移动开发专栏

    【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )

    文章目录 一、Expando 动态类简介 二、动态类创建 三、为动态类增加字段和方法 四、完整代码示例 一、Expando 动态类简介 ---- Groovy 运行时 , 可以动态地创建一个类 , 该类称为 " 动态类 " ; 这个类运行前并不存在 , 没有通过 class 定义该类 , 而是在 运行时通过代码创建的 ; Groovy 提供了一个 groovy.util.Expando 类 , 该类专门用于创建 " 动态类 " ; Expando 动态类原型如下 : package groovy.util; /** * 表示一个动态可扩展的bean。 ; public Expando() { } public Expando(Map expandoProperties) { this.expandoProperties = expandoProperties; } } 二、动态类创建 ---- Expando 构造函数可以接受键值对作为参数 , public class Expando extends GroovyObjectSupport

    1.5K30编辑于 2023-03-30
  • 来自专栏前端一会

    jQuery源码研究:选择器模块所用方法(1)

    3、markFunction()标记一个特定的函数 function markFunction( fn ){ fn[ expando ] = true; return fn; } 为fn expando是一个字符串,expando = "sizzle" + 1 * new Date()。 4、assert()方法,检测所用元素是否可用。看assert这个单词的含义即知,是一个断言方法。

    39630发布于 2019-08-29
  • 来自专栏DT乱“码”

    jQuery.data() 的实现方式

    ] = obj[expando] || {};           return obj[expando];       }       return {           data : function 之后是 getCache() , 获取 “obj” 上的 “cache”,即 obj[expando];如果 obj[expando] 为空,则进行初始化。      function getCache(obj) {           if (obj.nodeType) {               var id = obj[expando] = obj[expando ] = obj[expando] || {};               return obj[expando];           }       }       // Other codes uuid 或被存放在 DOM Element 的 “expando” 属性中。     

    1.2K70发布于 2018-02-09
  • 来自专栏c#分享专栏

    C#的动态加载和使用类型

    这为创建灵活的数据结构提供了可能:dynamic expando = new ExpandoObject();expando.Property = "Value";expando.Method = new

    4.8K00编辑于 2024-10-09
  • 来自专栏韩曙亮的移动开发专栏

    【Groovy】MOP 元对象协议与元编程 ( 方法合成引入 | 类内部获取 HandleMetaClass )

    Groovy 元编程进行函数拦截 | 属性缺失 propertyMissing 函数回调 | 方法缺失 methodMissing 函数回调 ) 博客 ; 利用 Groovy 类的上述特性 , 结合 Expando 动态类 , 实现方法的动态注入 ; Expando 动态类参考 【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 ) 博客 ; 假如调用了

    41220编辑于 2023-03-30
  • 来自专栏游戏杂谈

    createEventObject 与 createEvent EDIT WATCH

    (cancelBubble、returnValue) 例子: <html> <body> <script> function OuterClick() { if(event.expando == } } function InnerClick() { var eventObj = document.createEventObject(); // Set an expando property eventObj.expando = "from_inner"; parent.document.all.Outer.fireEvent("onclick",eventObj); event.cancelBubble

    1K40发布于 2018-11-15
  • 来自专栏偏前端工程师的驿站

    JS魔法堂:元素克隆、剪切技术研究

    实际测试效果: 浏览器 复制子元素 标准属性(property) 标准特性(attribute) 自定义特性(customize attribute) 自定义属性(expando) DOM0事件处理函数 boolean} isDeep=true]) 实际测试效果: 浏览器 复制子元素 标准属性(property) 标准特性(attribute) 自定义特性(customize attribute) 自定义属性(expando HTMLDocumentFragment} externalNode) 实际测试效果: 浏览器 复制子元素 标准属性(property) 标准特性(attribute) 自定义特性(customize attribute) 自定义属性(expando }) }(document)) 实际测试效果: 浏览器 复制子元素 标准属性(property) 标准特性(attribute) 自定义特性(customize attribute) 自定义属性(expando

    1.5K50发布于 2018-01-18
  • 来自专栏程序技术知识

    jQuery数据缓存

    这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串 removeData([name list]) 在元素上移除存放的数据,与 data([key], [value

    71420编辑于 2022-04-27
  • 来自专栏前端干货和生活感悟

    jQuery源码解析之click()的事件绑定

    elemData = dataPriv.get( elem ) ① Data() //目标元素的jQuery id //源码4209行 function Data() { this.expando = jQuery.expando + Data.uid++; } ② jQuery.expando jQuery.extend( { //相当于jQuery为每一个元素取唯一的id ///\D/g : 去掉非数字的字符 // Unique for each copy of jQuery on the page //源码360行 expando: "jQuery version + Math.random() ).replace( /\D/g, "" ), ... ... }) ③ Math.random() 伪随机,到小数点后16位 expando

    2.4K20编辑于 2022-03-28
  • 来自专栏前端一会

    jQuery源码研究:选择器

    fcssescape ); } else { context.setAttribute( "id", (nid = expando } catch ( qsaError ) { } finally { if ( nid === expando

    80120发布于 2019-08-29
  • 来自专栏前端一会

    jQuery源码研究:为jQ对象扩展的一些工具方法(上)

    //总览: jQuery.extend({ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), isReady function(){}, grep: function(){}, map: function(){}, guid: 1, support: support }) 1、先来看下expando

    84930发布于 2019-08-29
  • 来自专栏前端架构与工程

    【翻译】JavaScript内存泄露

    data('prop') ) // get $(elem).data(prop, val)的工作原理如下: 首先为本DOM节点分配一个唯一的数字标识(如果之前没有设置过): elem[ jQuery.expando ] = id = ++jQuery.uuid // from jQuery source 其中jQuery.expando是一个随机数,不会发生重复。 jQuery.cache jQuery.cache[id]['prop'] = val 当需要读取DOM节点的data属性时,原理如下: DOM节点的唯一数字标识被重新获取id = elem[ jQuery.expando

    2.6K60发布于 2018-01-30
  • 来自专栏黄啊码【CSDN同名】

    【黄啊码】七夕来了,用JQuery给你女票表白吧

    +e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:! this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void

    20610编辑于 2025-09-10
  • 来自专栏coder

    新手如何在 ES6 如何操作HTML DOM元素?

    document.defaultCharset expando: 当此属性设置为 false 时,它会阻止客户端对象扩展。 document.expando parentWindow: 包含窗口的文档。 document.parentWindow readyState: 指定文档的加载状态。

    94620编辑于 2023-10-21
  • 来自专栏CSDN博客专家-小蓝枣的博客

    JavaScript 技术篇-js里直接引用jQuery的方法。不依赖html的引用

    +e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:! this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void

    2.5K20发布于 2020-09-23
  • 来自专栏wfaceboss

    jquery 实现点击图片居住放大缩小

    +a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:! this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0= a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void

    19.3K20发布于 2019-04-08
  • 来自专栏前端干货和生活感悟

    jQuery源码解析之jQuery.event.dispatch()

    function( originalEvent ) { //如果存在属性id则原样返回(因为已处理成jQueryEvent) return originalEvent[ jQuery.expando this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed //修正的标志 this[ jQuery.expando

    1.1K20发布于 2019-09-05
  • 来自专栏又见苍岚

    Javascript 发送 GET/POST 请求

    +e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:! this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void

    1.5K20编辑于 2023-02-21
  • 来自专栏熊二哥

    快速入门系列--深入理解C#

    在使用委托时需要注意闭包的概念(和javascript中的类似),理解闭包对象的生命周期 扩展方法 public static bool IsNull(this String x){} 动态类型 Dynamic expando

    99050发布于 2018-01-24
领券