`

方法的链式调用

阅读更多
$函数。它通常返回一个HTML元素或一个HTML元素的集合,通常如下
function $(){
  var element = [];
  for(var i=0, len=arguments.length; i<len; ++i){
    var element = arguments[i];
    if(typeof element ==== 'string'){
      element = document.getElementById(element);
    }
    if(arguments.length === 1){
      return element;
    }
    elements.push(element);
  }
  return elements;
}

稍加改造之后就会变成一个 拥有自身方法,并可以链式调用的小框架了

(function(){
function _$(els){
this.elements = [];
for(var i=0,len=els.length; i<len; ++i){
var element = els[i];
if(typeof element === 'string'){
element = document.getElementById(element);
}
this.elements.push(element)
}
}

_$.prototype = {
each: function(fn){
for(var i=0, len=this.elements.length; i<len; ++i){
fn.call(this, this.elements[i])
}
return this;
},

setStyle: function(prop, val){
this.each(function(el){
el.style[prop] = val;
});
return this;
},

show: function(){
var that = this;
this.each(function(el){
that.setStyle('display', 'block');
});
return this;
}

}

window.$ = function(){
return new _$(arguments);
};
})()
分享到:
评论

相关推荐

    详解ES6 Promise对象then方法链式调用

    ES6的Promise对象有一个非常重要的方法:then(),这个方法是Promise对象处理异步操作的基础,并且支持链式调用。 Promise对象的then方法可以接收两个参数,这两个参数分别对应于Promise状态的解决(fulfillment)和...

    格式化-function与小括号间留空格。链式调用不换行.zip

    在JavaScript中,对象方法的链式调用是一种常见的编程模式,它允许我们在一个对象上连续调用多个方法。例如: ```javascript myObject .method1() .method2() .method3(); ``` 这里,每个方法调用后面都没有...

    swift-YQChainTaskSwift链式调用50行不到代码实现的链式任务调用

    链式调用通常是通过让类的方法返回`self`或者一个新的实例,这样就可以在一个方法调用后面直接接着另一个方法调用,形成一个链条。例如,在Objective-C中的`NSLayoutConstraint`或Swift的`UIView.animate`序列都是...

    swift-Cocoa链式调用框架

    1. **视图扩展**:对UIView及其子类进行扩展,添加链式调用的方法。例如,设置frame、backgroundColor、contentMode等属性。 2. **约束扩展**:对于AutoLayout的支持,允许开发者链式地添加约束。例如,`...

    【JavaScript源代码】详解JavaScript中的链式调用.docx

    JavaScript中的链式调用是一种常见的编程技巧,尤其在处理对象属性和方法时,可以使代码更加简洁、易读。链式调用的核心思想是通过在每次方法调用后返回对象自身,使得可以连续调用多个方法而无需重复指定对象名。在...

    Android-AndroidViewHelper提供一种链式调用的方式来调用View的set方法

    在上述代码中,`with()` 方法接收一个View对象,然后`setText()`、`setTextColor()` 和 `setTextSize()` 方法依次设置文本内容、颜色和大小,最后 `build()` 方法结束链式调用并应用所有设置。 `AndroidViewHelper`...

    RxJava之多线程、链式调用、Lambda表达式

    本篇文章将详细讲解RxJava如何利用多线程、链式调用以及Lambda表达式来提升应用程序的性能和可读性。 ### RxJava中的多线程 在Android开发中,由于主线程负责UI更新,因此任何耗时操作都不能在主线程中执行,否则...

    Swift 链式调用动画库,做的棒棒的.zip

    1. **链式调用**:库中的所有方法都返回一个可操作的实例,允许开发者连续调用多个方法而无需嵌套代码块。例如,你可以这样创建一个平移动画: ```swift view.animate().translationX(100).duration(0.5).start() ...

    Android-基于OkHttp链式调用的网络请求库支持同步的GETPOST;异步的GETPOST;

    本文将详细解析如何利用OkHttp实现基于链式调用的同步和异步GET、POST请求。 首先,我们需要理解OkHttp的核心概念。OkHttp是一个HTTP客户端,它的设计目标是减少网络延迟,提高应用程序的性能。它通过缓存响应数据...

    Java及Android中常用链式调用写法简单示例

    在本文中,我们将详细介绍 Java 及 Android 中常用的链式调用写法,并结合实例形式分析链式调用的概念、简单使用方法及相关操作技巧。 链式调用概念: 链式调用是一种编程风格,它通过返回当前对象的引用来实现...

    mysqls一款专为node.js生成sql语句的插件链式调用使用灵活

    MySQLs是一款专为Node.js设计的SQL语句生成器,其特点是通过链式调用的方式提供了灵活的操作体验。在Node.js的开发环境中,与数据库交互是必不可少的一部分,而MySQLs插件则为开发者提供了一个高效且易用的工具,...

    php版mysql类使用mysqli链式调用实现

    php实现 数据库为mysql 使用mysqli连接 对增删改查的动作安全校验 使用方法: $db-&gt;from('xfz_user')-&gt;where($userArr)-&gt;getOne(); $db-&gt;from('xfz_user')-&gt;where($userArr)-&gt;insert();

    javascript 支持链式调用的异步调用框架Async.Operation.docx

    链式调用允许开发者通过返回当前对象的方法调用来串联多个方法调用,从而构建简洁且易于阅读的代码。例如: ```javascript asyncOperation() .addCallback(callback1) .addCallback(callback2) .go...

    在JavaScript中实现链式调用的实现

    本文更多从链式调用方法返回值的角度,更进一步来说明如何实现链式调用。 什么是链式调用 链式调用在 JavaScript 语言界很常见,如 jQuery 、 Promise 等,都是使用的链式调用。链式调用可以让我们在进行连续...

    详解JavaScript中的链式调用

    链式调用在JavaScript语言中很常见,如jQuery、Promise等,都是使用的链式调用,当我们在调用同一对象多次其属性或方法的时候,我们需要多次书写对象进行.或()操作,链式调用是一种简化此过程的一种编码方式,使代码...

    spring aop之链式调用的实现

    它的 proceed() 方法递归实现了链式调用的逻辑。 链式调用的实现 ------------- 链式调用的实现是通过 MethodInterceptor 和 MethodInvocation 两个接口来实现的。MethodInterceptor 负责拦截方法的执行,而 ...

    Javasript设计模式之链式调用详解

    JavaScript设计模式中的链式调用是一种常见的编程技巧,它允许我们在单个语句中连续调用对象的方法,使得代码更加简洁、易读。在jQuery库中,链式调用被广泛使用,例如添加类、移除类和显示元素等操作。 链式调用的...

Global site tag (gtag.js) - Google Analytics