Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用require.js声明本地函数

用require.js声明本地函数
EN

Stack Overflow用户
提问于 2014-02-01 12:16:32
回答 1查看 659关注 0票数 0

我有下一个单身人士:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(
    function () 
    {
        require
        (
            ['module'], 
            function () 
            {
                module();
            }
        );
    }
)();

module.js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function module () 
{
    alert('yay');
}

然而,当我回到我的控制台时,我看到这个模块是在全局范围中定义的,是我不想要的,因为我想要我的单例作用域中的所有依赖项。

我理解require.js的目的之一是避免全球污染,那么,如何以我想要的方式保护我的依赖关系不受全局范围的影响呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-01 12:26:33

您没有正确地使用require.js

您应该使用define函数来定义模块。在文件module.js中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
define (function() {
    return function(){
        alert('yay');
    }
});

模块值是从外部函数返回的值。然后,要要求模块,请使用以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
require(['module'], function (module) {
    module();
});

这样,全球就不会受到污染。还可以以这种方式定义需要其他模块的模块:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
define (["aModule","anotherModule"],function(aModule,anotherModule) {
    return function(){
        alert(anotherModule.someThing + aModule.aProperty);
    }
});

此外,您还可以在同一个文件中定义多个模块。你只需说出他们的名字:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
define("module1",["aModule","anotherModule"],function(aModule,anotherModule) {
    return function(){
        //a module could be a function, an object or whatever you want
        return "this module value is a string";
    }
});

define("module2",["module1","anotherModule"],function(module1,anotherModule) {
    return function(){
        alert(module1 + anotherModule.aProperty);
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21503097

复制
相关文章
函数声明[通俗易懂]
name 函数名 param 传递非函数的参数名,参数个数最多255个。 statements 构成函数体的语句。
全栈程序员站长
2022/09/20
7360
函数(三)(函数的声明)
如果在程序中自定义函数时,需要将被调函数定义在主调函数后面,就需要的函数调用之前加上函数原型声明。如果在函数调用之前既无函数定义,也无函数声明,编译时会出错。
pigeon
2022/04/11
6700
JavaScript: 函数式编程 - 声明式函数
什么是声明式,我们将不再指示计算机如何工作,而是指我们明确希望得到的结果。这种编程方式会改变我们习以为常的命令式编程相比,会让我们的轻松许多。
西南_张家辉
2021/02/02
1.3K0
Javascript基础:函数声明和变量声明提升之注意点函数优先
上面的代码会输出2019,而不是2020。新手同学们肯定会疑惑,为什么没有输出2020呢,因为2020赋值的那条语句是表达式而不是函数声明,因此不会被提升。
IT工作者
2022/01/26
6980
python 函数声明和调用
函数是指代码片段,可以重复调用,比如我们前面文章接触到的type()/len()等等都是函数,这些函数是python的内置函数,python底层封装后用于实现某些功能。
猿说编程[Python和C]
2020/02/27
3.4K0
python 函数声明和调用
Go-函数-声明和调用函数(一)
函数是一种可重复使用的代码块,可以在程序中多次调用。函数的目的是为了提高代码的重用性,减少代码的重复编写,以及更方便地维护代码。在 Go 语言中,函数是一个独立的模块,它有一个函数名和一组输入参数,可以执行特定的任务并返回一个结果。
堕落飞鸟
2023/04/20
4920
函数声明与函数表达式
函数声明:直接声明一个函数 function fnName() {};function声明必须有方法名,而出现在表达式里的方法名都会被忽略。
meteoric
2018/11/15
7790
Require.js
通过require.js 可以对javascript文件进行别样引用 Require.js的使用: 第一步: 只需在html页面中引用require.js 就够了 第二步: 在引用require.js的时候,要设置async属性为ture 确保不会阻塞页面 第三步:单写一个js文件,用于引用相关的javascripnt文件,这个文件可以随便命名,一般叫main.js 第四步: 在引用require.js时,通过data-main属性指定main.js
河湾欢儿
2018/09/06
4.4K0
函数声明与函数表达式
定义一个函数的方法主要有三种 函数声明、函数表达式、new Function构造函数,函数声明与函数表达式定义的函数较为常用,构造函数的方式可以将字符串定义为函数。
WindRunnerMax
2020/08/27
5610
JavaScript-变量/函数声明提升
(1)如上定义了一个名为test的变量,但未给这个变量进行初始化(也就是没有赋值),此时其默认初始化值为 undefined。
WEBING
2019/03/13
1.1K0
JavaScript-变量/函数声明提升
声明式渲染与 data 函数
这是学习vue开发,必先了解的第一个特征。如前已经实现的App.vue组件,已经包括声明式渲染:
LIYI
2020/01/13
5970
声明式渲染与 data 函数
Kotlin:02-函数的声明
在上一篇文章中,我们在创建Intellij IDEA 和 Eclipse 的编译环境时已经写过 HelloWorld 代码,具体代码为:
CnPeng
2020/08/11
6130
delay函数的用法及声明
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137122.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/05
1.4K0
函数声明提升与变量提升
1.当在函数的作用域里定义一个和外部变量一样的名称的变量时,变量声明会提升至第一句,但是赋值则不变
Ewall
2018/09/04
7080
TypeScript - 类型声明、枚举、函数、接口
4.自定义类型 当一些复杂类型需要多次使用,可以通过type来自定义类型,便于复用
WahFung
2020/08/22
1.8K0
【说站】javascript如何声明函数
简单来说,函数主体被视为表达式,该表达式分配给变量。使用这种语法定义的函数可以是命名函数或匿名函数。
很酷的站长
2022/11/23
7760
java构造函数方法声明无效_如何构造函数
Java构造函数,也叫构造方法,是JAVA中一种特殊的函数。与函数名相同,无返回值。
全栈程序员站长
2022/10/05
1.7K0
6.3 被调用函数的声明和函数原型
(2)如果使用库函数,应该在本文件开头用#include指令将调用有关库函数时所需用到的信
小林C语言
2019/08/19
1.3K0
TypeScript-继承和函数、函数声明和重载
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/28
3140
TypeScript-继承和函数、函数声明和重载
1. hello world!与函数声明
非常熟悉。可在我漫长的编程生涯中,我大概是第 5 次在 Google 搜索了“Java Hello world”之后,才能独自完整的默写出来。。因为他有些“不太好记住”的点:比如他必须通过该类的一个叫 main 的 public 的 static 的函数,且这个函数入参必须是有且仅有一个 String[] 数组。如果错了其中一个,那你就没法运行。
sickworm
2019/12/24
5100

相似问题

用Require.js调用函数

15

用函数声明公开函数

33

JavaScript原型的require.js声明

13

声明函数的本地数组

37

是否缓存本地函数声明?

34
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文