微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

定义点函数,如 jQuery 的“.map()”、“.each()”等

如何解决定义点函数,如 jQuery 的“.map()”、“.each()”等

我有 2 个函数一个构造函数,定义如下:

let mx = function(arr) {
    return new mx.fn.init(arr) 
}

mx.fn = mx.prototype = {
    constructor: mx,}

init = mx.fn.init = function(arr) {
    //do things and return an object containing data about arr
}

所以这段代码运行良好,调用 mx(array) 会返回想要的对象。 现在,我如何定义函数操作这个对象?我想定义诸如 mx(array).addRow(row) 之类的函数来更改 mx(array) 返回的对象中的数据,但无法做到。 我试图在 mx.fn 中这样定义它: addRow: function(arr) { //do smth } 但它不起作用。 我也尝试做mx.prototype.addRow = function(row) { //do smth }。 你知道这是否可能?它看起来很像 jQuery 的 $('#id').css('color': 'red'),但我不确定这是否以相同的方式工作。 我对很多这些概念都不熟悉,所以我对所有这些原型都有点迷失...

预先感谢您的帮助!

解决方法

您需要设置prototype函数的init

let mx = function(arr) {
    return new mx.fn.init(arr) 
}
let init = function(arr) {
    //do things and return an object containing data about arr
}
mx.fn = init.prototype = {
    addRow(row){
        // do something
    },init: init
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。