Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >有没有一个好的jQuery模式来管理初始化?

有没有一个好的jQuery模式来管理初始化?
EN

Stack Overflow用户
提问于 2010-02-19 23:26:56
回答 4查看 189关注 0票数 6

基本上,我想做这样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {  
    if ($(body).attr("class") === "HomePage") {  
        HomePage.init(); //bind events for home page (Crockford's module pattern)
    } else if ($(body).attr("class") === "AboutPage") {  
        AboutPage.init(); //bind events for about page  
    }  
});

这样做的原因是,我可以将所有内容缩小到一个js文件中,从而减少http请求的数量。这个解决方案绝对不优雅,因为每当我添加新页面时,我都需要添加另一个'else if‘语句。我可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {  
    eval($(body).attr("class") + ".init();");
});

但是eval是邪恶的,我不知道使用这种方法会带来什么性能影响。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-19 23:39:32

为什么不使用另一种方法来调用eval对象[]而不是使用javascript

假设所有对象在作用域中都是全局的,为什么不尝试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {  
    window[$(body).attr("class")].init();
});
票数 4
EN

Stack Overflow用户

发布于 2010-02-19 23:32:40

下面是我在一些项目中使用的模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var views = {
    'home': function() {
        // do stuff on homePage
    },
    'about': function() {
        // some about action
    }
}

var c = document.body.className.split(" ");
for (var i=0; c[i]; i++) {
    if (c[i] in views) {
        views[c[i]].call(this);
    }
}

<body class="home"> <!-- home method will be called -->
<body class="home about"> <!-- home and about methods will be called --> 
票数 2
EN

Stack Overflow用户

发布于 2010-02-19 23:35:59

为什么不把主页的代码放在主页文件中,把about页面的代码放在about页面文件中呢?换句话说,为什么你想把所有的javascript代码放在同一个文件中呢?我看不出有任何理由这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2300302

复制
相关文章
计算机的计算单位
存储单位一般用 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示。一般将Byte简称为B,将KB简称问K。
JavaEdge
2021/02/23
8760
计算机的计算单位
GraphX 在图数据库 Nebula Graph 的图计算实践
不同来源的异构数据间存在着千丝万缕的关联,这种数据之间隐藏的关联关系和网络结构特性对于数据分析至关重要,图计算就是以图作为数据模型来表达问题并予以解决的过程。
NebulaGraph
2020/11/11
2.6K0
GraphX 在图数据库 Nebula Graph 的图计算实践
AutoCAD 产品设计:图形单位
图形单位是用于设置 一些属性数据应该用什么格式显示 的命令,命令标识为 un(units)。
前端西瓜哥
2023/10/04
3570
AutoCAD 产品设计:图形单位
php实现图形计算器
存档: index.php 1 <html> 2 <head> 3 <title>图形计算器开发</title> 4 <meta http-equiv="Content-type" content="text/html;charset=utf-8"> 5 </head> 6 7 <body> 8 <center> 9 <h1>图形(周长&面积)计算器</h1> 10
Angel_Kitty
2018/04/08
1.7K0
php实现图形计算器
NEO4J 图数据库哪里和哪里 从哪里开始
上期已经安装了图数据库,本期就该讨论到底这个图数据库里面的一些基本的概念和如何操作。最近听到一句话,年轻不年轻,不是看年龄,而是看你对新鲜事物的热情,即使你20岁,谈起新事物也是一脸的不屑,只能说明身体和灵魂分了家。闲话不谈 回归正题。
AustinDatabases
2020/05/09
3K0
计算机的国产灵魂到底差在了哪里
最近,网上流传着一个国产系统PK国外系统的视频。视频中作者采用两台型号一样配置一样的电脑,分别安装了中兴新支点操作系统和Windows10,针对开关机、打开软件等方面进行了对比测试。
pak
2022/09/14
3.1K0
计算机类单位换算,计算机单位换算大全「建议收藏」
电脑世界是由0与1组成,其中有数以万计的线路,一条线路传递一个信号,而0代表没有信号,1代表有信号,就像电源开关一样,同一时间只可能有一种状态,所以电脑最基本的单位就是一条线路的信号,我们就把它称作“位”,英文叫做bit,缩写为 b。“位”和“字节”其实都是电脑的计量单位,我们可以理解成字节是由位组成的,一个“字节”等于8“位”,Byte是它的缩写.位(bit)这个单位太小,所以字节(Byte)是电脑存储容量的基本计量单位。Byte可简写为B,一个字节由八个二进制位组成,其最小值为0,最大值为11111111,一个存储单元能存储一个字节的内容。
全栈程序员站长
2022/09/18
1.4K0
图计算与图数据库的概念
图计算是一种针对图数据进行分析和计算的方法。图数据由节点和边构成,节点代表实体或对象,边代表节点之间的关系或连接。图计算可以应用于多个领域,如社交网络分析、生物网络分析、推荐系统等。
一凡sir
2023/10/24
6420
图计算与图数据库的概念
常用的数据单位符号
黎鹤舞
2024/05/27
930
数据热点图告诉你:用户都在看哪里?
一大波热点图,告诉你用户都在看向哪里?最后发现其实网站上那些一层层的banner其实都是没!人!看!的,因为我们的大脑都会自动屏蔽掉他们!(不管你logo放多大!字有多明显!) 甲方的钱花的实在太冤枉
用户1756920
2018/06/20
8700
【笔记】《计算机图形学》(12)——图形学的数据结构
之前我的笔记都是在OneNote上记录的,苦于OneNote羸弱的跨平台性,我决定抛弃OneNote,今后的笔记都用Markdown记录,方便迁移也方便调整格式。文章一开始编辑后会保存在我的Github仓库中(https://github.com/ZFhuang/Study-Notes),整理完后会发到公众号上,并延时同步到我的腾讯云。
ZifengHuang
2021/02/04
6.1K0
【AI系统】计算图的控制流实现
计算图在数学上作为一个有向无环图(DAG,Directed Acyclic Graph),能够把神经网络模型的概念抽象出来作为同一描述,不过在计算机的编程中,会遇到很多 if、else、while、for 等控制流语句,有向无环图改如何表示控制流变成了计算图中一个很重要的问题。好处在于,引入控制流之后,开发者可以向计算图中引入分支选择以及循环控制逻辑,进而构造出更加复杂的神经网络模型结构。
用户11307734
2024/12/06
1010
计算机中存储单位的换算
1、单位定义 存储单位:存储在计算机硬盘或内存中的信息容量标准,最小计量单位是“位”(bit,比特),一个比特位表示一个二进制的0或1在计算机中所占用的存储空间 传输单位:在计算机网络中称为带宽,宽带传输速率的单位为bps,bps是bit per second的缩写,表示每秒钟传输多少比特位信息(很多人都会把这里的bit误以为是Byte,也就是错把位当成字节),例如:带宽的单位是10Mb/s,这里其实指的是每秒传输10兆位,而不是10兆字节数据,因此将位数需要除以8换算成字节数,也就是每秒传输1.2
跟着飞哥学编程
2022/11/30
1.4K0
图计算和图数据库在实际应用中的限制和挑战,以及处理策略
大规模图数据的处理需要高性能计算和存储系统,并且很多图算法和图查询是计算密集型的。因此,图计算和图数据库需要具备高度可扩展性和并行处理能力,以应对大规模图数据的挑战。
一凡sir
2023/10/25
4070
图计算和图数据库在实际应用中的限制和挑战,以及处理策略
怎么在Openresty中REST?
REST究竟指的是什么,如果原意英文缩写来看,REST(Resource Representational State Transfer ), 解释很诗意,很烂漫,但基本看不出一个所以然。
糖果
2020/09/17
2.4K0
Power BI 卡片图显示不同单位
如果数据差异非常大,有的上亿,有的只有几百,如何在卡片图更好的显示这样的数据?把数据修正同时带有单位是个不错的办法,比如如果数据超过一亿,除以一亿,末尾加个汉字”亿“。
wujunmin
2023/09/05
6140
Power BI 卡片图显示不同单位
windows 自带的计算器-标准计算,科学计算,函数绘图,各种单位转换。
windows 自带的计算器,经过不断地迭代更新现在功能已经很强大了。我们如果还只是单纯的使用它计算普通的加减乘除就太浪费了
zinyan.com
2023/07/13
2K0
windows 自带的计算器-标准计算,科学计算,函数绘图,各种单位转换。
图计算 on nLive:Nebula 的图计算实践
在 #图计算 on nLive# 直播活动中,来自 Nebula 研发团队的 nebula-plato 维护者郝彤和 nebula-algorithm 维护者 Nicole 分别同大家分享了他她眼中的图计算。
NebulaGraph
2022/02/22
1.6K0
图计算 on nLive:Nebula 的图计算实践
智能图形和列表在哪里呢?慢慢学会SmartArt智能图形和列表。
1、点击[插入] 2、点击[SmartArt] 3、点击[循环] 4、点击[图片] 5、点击[确定]
裴来凡
2022/05/28
9940
智能图形和列表在哪里呢?慢慢学会SmartArt智能图形和列表。
字符串在JVM的哪里
另外String提供了一个API, java.lang.String.intern(),这个API可以手动将一个字符串对象的值转移到字符串常量池中
名字是乱打的
2022/05/13
4.3K0
字符串在JVM的哪里

相似问题

marklogic搜索结果中的Dateboosting

12

Marklogic REST API通配符搜索

144

MarkLogic搜索结果排名

24

如何使用MarkLogic搜索在rest中使用转换结果?

13

Marklogic搜索结果中的返回属性

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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