当前位置: 首页 > 知识库问答 >
问题:

Javascript库模板

印劲
2023-03-14

假设我需要创建一个javascript库,这样:

;(function(){

    var root = this;

    var Ctor = function(value) {
        this.value = value;
    };

    var _ = new Ctor(value);

    _.doSome = function(value) {
        // do some work to the value
        // if no value assigned, get the value of the previous method
    };

   _.doSome2 = function(value) {
        // do some work to the value
        // if no value assigned, get the value of the previous method
    };

   _.doSome3 = function(value) {
        // do some work to the value
        // if no value assigned, get the value of the previous method
    };

   root._ = _;

}.call(this));

如果doSome方法工作u对象的值,那么doSome2和doSome3也工作。

但是像这样链接方法呢:

// the doSome2 and doSome3 work with the value of doSome
_.doSome(value).doSome2().doSome3();

// the doSome3 work with the value of doSome2 cuz it has a value
_.doSome(value).doSome2(value).doSome3();

// every method work with the value assigned to it
_.doSome(value).doSome2(value).doSome3(value); // the same as:
_.doSome(value);
_.doSome2(value);
_.doSome3(value);

注意:方法可以随机链接,如:

_.doSome2(value).doSome().doSome3();

实例:https://jsbin.com/vijehotora/edit?js安慰

共有1个答案

葛安和
2023-03-14

你可以这样做:

var Ctor = function() {};

Ctor.prototype = {
    doSome: function(value) {
        if(value) {
            this.value = value;
        }

        return this;
    },

    doSome2: function(value) {
        if(value) {
            this.value = value;
        }

        return this;
    }    
};

new Ctor().doSome('value1').doSome2('value2').doSome();

工作示例

 类似资料:
  • JavaScript 库可以帮助我们跨越浏览器差异的鸿沟,并对复杂的浏览器功能提供更为简便的访问方式。程序库有两种形式:通用库和专用库。通用JavaScript 库提供了对常见浏览器功能的访问,可以作为网站或者Web 应用的基础。专用库则只做特定的事,仅用于网站或者Web 应用的某些部分。本附录给出了这些库与其功能的概况,并提供了相关网站作为你的参考资源。 C.1 通用库通用JavaScript

  • 本文向大家介绍JavaScript页面模板库handlebars的简单用法,包括了JavaScript页面模板库handlebars的简单用法的使用技巧和注意事项,需要的朋友参考一下 Handlebars 是一个 JavaScript 页面模板库,帮助你轻松的构建语义化模板。 示例很简单,具体详情可参考ThinkVitamin的文章 Getting Started with Handlebars.

  • JavaScript 模块 前端 ClojureScript 依赖命名空间, 所以不能直接使用 npm 模块, 甚至 UMD 模块. 使用前需要做打包处理, 或者通过暴露在 window 对象的属性来调用. 已经打包的模块可以参考: http://cljsjs.github.io/ 后端 使用 Lumo 运行 ClojureScript 脚本时可以通过 js/require 调用 npm 模块.

  • 偷懒是程序员的优良品质,模式则是先人们总结的偷懒招式。Stoyan Stefanov 的这本书,从 JavaScript 的实际使用场景出发,提炼了不少可以让前端们偷懒的实用招式。模式的探索、创新,将永远是程序员自我提升的一条修炼之道。值得一读。

  • 本文向大家介绍Node.js项目中调用JavaScript的EJS模板库的方法,包括了Node.js项目中调用JavaScript的EJS模板库的方法的使用技巧和注意事项,需要的朋友参考一下 作为外部模块,调用的方法和mysql模块是相同的,不再赘述。 ejs的render函数有两个参数 第一个是字符串,第二个是可选的对象,和其他javascript模版一样需要渲染的数据也是包含在option对象

  • 问题内容: 好的,问题很简单。我要使用两个JavaScript文件:一个遵循模块模式,另一个遵循第一个。我使用Node.js测试了所有代码。当所有代码都放在一个文件中时,它可以工作,但是如果我将代码分成两个文件,则会出现错误。 这是代码: PS:我想使用Javascript表示法而不是Node export表示法来实现模式。 问题答案: 首先,我不清楚为什么要在Node.js中使用“模块模式”。我