gpt4 book ai didi

javascript - 为什么在这个函数定义中这样使用 'window.angular'?

转载 作者:数据小太阳 更新时间:2023-10-29 04:38:31 28 4
gpt4 key购买 nike

我正在尝试理解我需要用来与 Django 集成的 angularjs 文件,它有一个我不熟悉的奇怪语法(请记住我是初级开发人员,所以这可能是你的面包和黄油)...

它是这样的:

(function(angular, undefined){
'use script';
var djng_forms_module = angular.module('ng.django.forms', []);
funtion hasCode(s){
return .....
}
var foo = .....
}(window.angular));

我看过 this关于窗口的 javascript 概念,它表明 window 部分是浏览器在加载页面时创建的顶级(?)级别对象。

运行 console.log(window.angular) 打印出大量内部 Angular 内容。所以我猜这是 AngularJS 的内部结构......?

但为什么将这种奇怪的封装作为函数(与 JavaScript 是一种“函数式”语言有关)?

完整的脚本是here而且我不明白为什么它在此函数定义中使用 window.angular(与正常的做事方式相反)。看起来这个设置意味着当我通过 script 标签导入它时它不适用于我的应用程序。

最佳答案

window.angular 是全局 angularjs 变量,它是在 angularjs 从脚本标签完全加载后创建的。您粘贴的代码片段确保它在填充此变量后执行。它可能以这种冗长的方式编写的原因之一就是它的自动生成性质。在更广泛的上下文中,它可能会影响脚本的执行顺序或使用不同版本的 angularjs 库。

关于javascript - 为什么在这个函数定义中这样使用 'window.angular'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30185773/

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