【问题标题】:Use an object in the same array with coffeescript将同一数组中的对象与咖啡脚本一起使用
【发布时间】:2015-06-30 17:47:53
【问题描述】:

我在我的 gulpfile 中使用 Coffeescript,我想使用在同一个数组中声明的对象,但我看到它不起作用……

# SOURCES
src =
    libs: [
        "#{dir.libs}/jquery/dist/jquery.min.js"
        "#{dir.libs}/gsap/src/uncompressed/TimelineLite.js"
        "#{dir.libs}/gsap/src/uncompressed/easing/EasePack.js"
        "#{dir.libs}/page.js/page.js"
        "#{dir.libs}/swiper/build/js/swiper.js"
    ]
    js: [
        "#{dir.js}/site.js"
        "#{dir.js}/functions.js"
        "#{dir.js}/animations.js"
        "#{dir.js}/init.js"
    ]
    javascript: src.libs + src.js # this.libs + this.js is the same

它正在返回NaN
做错了吗? ????

【问题讨论】:

    标签: arrays object coffeescript


    【解决方案1】:

    当你说:

    javascript: src.libs + src.js
    

    您的src 仍然是undefined,因为您正在构建它。您似乎还错误地假设+ 在 (Coffee|Java)Script 中连接数组,但事实并非如此,array + array 将字符串化数组然后连接字符串:

    [ 'a' ] + [ 'b' ]
    

    实际上是'ab'

    要解决第一个问题,请分两步构建src。解决第二个,使用Array::concat

    src =
        libs: [
            "#{dir.libs}/jquery/dist/jquery.min.js"
            "#{dir.libs}/gsap/src/uncompressed/TimelineLite.js"
            "#{dir.libs}/gsap/src/uncompressed/easing/EasePack.js"
            "#{dir.libs}/page.js/page.js"
            "#{dir.libs}/swiper/build/js/swiper.js"
        ]
        js: [
            "#{dir.js}/site.js"
            "#{dir.js}/functions.js"
            "#{dir.js}/animations.js"
            "#{dir.js}/init.js"
        ]
    src.javascript = src.libs.concat(src.js)
    

    或者,如果这样更有意义,您可以先定义 libsjs

    libs = [
        "#{dir.libs}/jquery/dist/jquery.min.js"
        "#{dir.libs}/gsap/src/uncompressed/TimelineLite.js"
        "#{dir.libs}/gsap/src/uncompressed/easing/EasePack.js"
        "#{dir.libs}/page.js/page.js"
        "#{dir.libs}/swiper/build/js/swiper.js"
    ]
    js = [
        "#{dir.js}/site.js"
        "#{dir.js}/functions.js"
        "#{dir.js}/animations.js"
        "#{dir.js}/init.js"
    ]
    src =
        libs: libs
        js: js
        javascript: libs.concat(js)
    

    【讨论】:

    • 哈!不知道那件事。首选声明我的 javascript 数组的第一个选项。谢谢!
    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 2016-02-26
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多