gpt4 book ai didi

javascript - 从内联脚本调用 CoffeeScript 中的函数

转载 作者:行者123 更新时间:2023-11-28 02:04:57 25 4
gpt4 key购买 nike

我在 CoffeeScript 文件中定义了一个函数:

showAlert = () ->
alert("asdfsd")

从 View 中我将此函数称为:

:javascript
jQuery(function(){
showAlert();
});

但是该函数没有触发。这里出了什么问题?

最佳答案

这是因为 Coffeescript 自动将其转译的 Javascript 输出包装在 Immediately-Invoked Function Expression 中。 (IIFE),这意味着您在 Coffeescript block 中声明的任何函数都不在全局范围内。因此,您的 jQuery block 找不到 showAlert 函数,因为它不存在于您的 jQuery block 可以访问的作用域/闭包中。

您可以做的(尽管我不确定这是一个好主意)是在 window 命名空间上声明您的“全局”函数:

window.showAlert = -> alert('asdfasdf')

并从 jQuery block 调用它:

javascript:
jQuery(function($){
window.showAlert();
});

这将起作用,因为 window 命名空间在所有(浏览器)范围中都可用。

关于javascript - 从内联脚本调用 CoffeeScript 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com