0

0

使用 jQuery 是愚蠢的吗?

PHPz

PHPz

发布时间:2023-09-04 12:45:12

|

769人浏览过

|

来源于php中文网

原创

使用 jquery 是愚蠢的吗?

我们应该把这件事公开。人们似乎普遍认为 jQuery 用户是无知的,而且往往是设计者。这是从哪里来的,是真的吗?


当时的 JavaScript 社区并不像现在这样充满活力和热情。

让我们回顾一下记忆;我们将把时钟倒回几年——jQuery 之前的日子。当时的 JavaScript 世界是一个非常不同的场景。那个社区远没有今天那么充满活力和热情。当然,当时有一些库,例如 Prototype;但他们从未像 jQuery 那样迅速吸引普通用户的关注。当时,JavaScript 是一种广受憎恨的语言。有时,我们很容易忘记,有时开发人员拒绝花必要的时间……你知道……学习 JavaScript!相反,他们只是简单地复制并粘贴他们的方式,希望避免在裤子上留下令人讨厌的 JavaScript 污点。

DOM

你的意思是,“我讨厌 DOM API。”

这些复制粘贴成瘾者(我就是其中之一)没有意识到,当你说“我讨厌 JavaScript”时,你真正的意思是(无论你是否意识到):“我讨厌DOM API。”没有人会因为这种感觉而受到责备。尤其是在那些日子里,当 IE5 支持生效时,事情可能会变得有点糟糕。 DOM 的浏览器实现是罪魁祸首;不是 JavaScript 语言。这是因为实际上没有任何 DOM 规范。结果,浏览器尽其所能地发挥了它的作用!我们有 innerHTML 不是因为规范,而是因为 Internet Explorer 团队决定将其放入其中(此时其他浏览器供应商对其进行了逆向工程,并将其实现到自己的浏览器中)。但 JavaScript 语言作为一个整体是可靠的。

事实上,包括我自己在内的许多人都会说,作为一种语言,JavaScript 确实非常美丽。

jQuery

大约在那个时候,jQuery 进入了人们的视野,并开始席卷开发社区。虽然像 Prototype 这样的其他库对于新手来说仍然保留了一定程度的复杂性和混乱,但 jQuery 却非常容易掌握,因为所有东西都可以通过 jQuery 对象访问(具有讽刺意味的是,它经常被批评) 。

需要申请课程吗?简单的;这样做是为设计师量身定做的。 jQuery 允许您使用已知的 CSS 选择器来查询 DOM。

$('#container').addClass('ahh-yeah');

有趣的事实:从技术上讲,尽管 jQuery 普及了 CSS 选择器引擎的想法,但它很大程度上基于 Dean Edwards 的工作。

然后,在某个时刻,时间线偏离了这个替代现实......

这确实简单得不能再简单了。通过抽象出复杂的代码和浏览器怪癖,开发人员可以继续做重要的事情:创建网站和应用程序。

虽然 jQuery 的社区突飞猛进,但库本身也在不断成熟和成形。世界是桃色的。

然后,在某个时刻,时间线倾斜到了这个替代现实(好吧,不像布朗博士那样),突然间,如果你将自己标记为自豪的 jQuery 用户,JavaScript 社区的某些成员就会因此觉得有必要将您刻板印象为一个无知的“设计师”(无论您是否是)——当然不是“JavaScript 开发人员”。这怎么发生的? JavaScript 开发人员不使用 jQuery?


人气的负担

每个人对聚光灯都有自己的看法。

很自然,一旦你达到一定的知名度(找不到更好的语言),你就会接受大量的审查。似乎每个人对聚光灯都有自己的看法。例如,您无疑听到过对天主教的无休止的批评。 “他们崇拜雕像。”这是唯一历史可疑的宗教团体吗?当然不是;但它是最大的。美国是世界上最强大的国家之一。自然,每个人都有自己的看法。 “美国人又无知又肥胖。”忽略好的,关注坏的。

jQuery 以压倒性优势成为最流行的 JavaScript 库。再说一遍,每个人都有意见。我读过无数的批评——从它不做什么,到代码库的结构。然而,对 jQuery 最大的批评也许来自一个简单的事实:与 Mootools 等软件相比,其用户平均而言对普通 JavaScript 的使用经验较少。虽然有些人认为这是一个缺点,但老实说,我认为这是一个优点——以一种奇怪的方式。

jQuery 有许多经验不足的用户这一事实并不是它的失败;而是它的失败之处。这证明了它的吸引力。

兼容IE8的jQuery轮播图插件
兼容IE8的jQuery轮播图插件

兼容IE8的jQuery轮播图插件是一款兼容性很好的,使用非常简单的网站焦点图代码。

下载

jQuery 用户不了解 JavaScript!

这是您听到最多的争论。再次证明 jQuery,许多人在学习普通 JavaScript 之前学习 jQuery。关于这是否是一件好事,已经有无数的争论。事实上,这类讨论延伸到所有抽象。

  • 在了解 CSS 的细节之前,设计人员是否应该分别使用 CSS 预处理器和框架,例如 Sass 和 Compass?
  • Ruby 开发人员可以在不先学习 JavaScript 的情况下使用 CoffeeScript 吗?
  • 在学习如何编写单个功能测试之前,您应该使用 Modernizr 吗?
  • 如果您刚刚学习 PHP,可以使用 CodeIgniter 吗?

就我个人而言,我觉得那些要求新手在转向 jQuery 之前先学习 JavaScript 的人错过了一件事:JavaScript 和 DOM 太可怕了!如果你把 ES5 规范扔给他们,他们会心脏病发作,除非他们真正有兴趣成为一名 JavaScript 开发人员。许多人只需要向他们的网站添加一些效果。我们不可能总是掌握一切。他们是选择优先事项的坏人吗?当然不是。

JavaScript 和 DOM 太可怕了!

将其与简单的数学进行比较。当你第一次学习如何添加 2 + 2 时,你是按照官方的方式做的吗?我当然没有;我用我的手指。我打赌你也这么做过。虽然这是问题的巨大简化,但 jQuery 不也是这样吗?它为 JavaScript 新用户提供了一个简单而令人兴奋的入口点。你真的希望他们在学习如何做一些有趣的事情之前先了解闭包、对象和全局变量吗?来吧,来吧,现在。

严格的“以正确的方式学习,否则你就是个傻瓜”的观点是天真的,并且没有考虑到我们所有人都有的各种学习方式。

我将 jQuery 视为诱饵。将其举过用户的头顶,让他们感到非常兴奋,然后,当他们觉得准备好了时,他们几乎总是会继续学习更多的普通 JavaScript。

jQuery 用户编写糟糕的代码

这又是一个大规模的概括。世界上一些最大和最有影响力的公司都使用 jQuery。但是,是的,有很多初学者仍在学习过程中。那好吧;它发生了。每种语言都存在糟糕的代码。我自己写了很多内容,我很自豪地说!我们能做的最好的事情就是,尽可能地提供建议和提示,而不是公开蔑视他们。我们都在学习。我们真的需要攻击某些人吗,因为他们有不同的优先事项和技能?

随着受欢迎,可能会出现糟糕的建议。

jQuery 成功地创建了这个令人难以置信的热情社区 - 从铁杆 JavaScript 开发人员到对完成工作如此轻松感到惊讶的设计师。这种热情随后导致社区成员编写了无数的 jQuery 教程——无论好坏。虽然仍在学习 jQuery(我仍在做的事情),但我可以保证我在某一时刻提供了一些糟糕的建议。它与 PHP 社区并没有太大不同。随着受欢迎,可能会出现糟糕的建议。


Ruby 社区

这种毫无意义的教导几乎伤害了社区。​​p>

在 Ruby 社区中,有一个有趣的动态。总的来说,教程是由退伍军人编写的。换句话说,如果您要撰写 Ruby on Rails 文章或书籍,那么您应该充分考虑到严格的审查。如果你没有丰富的经验,你就不敢写。从某些方面来说,这是一种优势。作为一名学生,您可以更轻松地确信您所学的内容是正确的。另一方面,PHP 教程到处都是。作家有时会关注无关紧要的事情,而忽略重要的事情。您经常会找到 PHP 教程的最佳实践,其中描述了使用单引号还是双引号是否更快。当然,这种毫无意义的教导几乎伤害了社区。​​p>

你喜欢什么?

我必须说,这是一件有趣的事情。你喜欢哪个?是一个较小的、充满热情的基础,还是一个非常受欢迎的、包含所有技能水平的基础?当然各有利弊。

不可否认,我们中的许多人都觉得有必要成为开拓者。还记得父母什么时候开始注册 Facebook 的吗?批评者普遍宣称 Facebook 的末日已近。一旦你为了广泛的吸引力而牺牲了排他性,人们就会本能地开始寻找下一个事物。但那并没有发生。对于 jQuery 来说也是如此。当然,一些用户已经转向更全面的框架,例如 Dojo。但这是可以预料到的,并且应该成为 jQuery 的荣誉徽章。对于许多人来说,学习周期是这样的:

  • 学习 jQuery;兴奋起来。
  • 意识到您不知道 this 在不同情况下指的是什么。学习 JavaScript,并逐步改进旧的 jQuery 代码。
  • (可选)将您的技能提升到需要更全面的框架来构建大型应用程序的程度。开始查看其他工具,例如 Dojo。

有那么糟糕吗?


实际截止日期

伙计们,我们并不是用二进制编码。

总会有人建议你不要使用图书馆 - 就这样。不过,考虑到 JavaScript 和 DOM 的当前状态,我真诚地认为这是一个糟糕的建议——尤其是对于新手来说。不应该期望他们在学习过程的早期就与令人沮丧的浏览器不一致问题作斗争。而且,很多时候,抽象是一件非常好的事情!伙计们,这不像我们在这里用二进制编码。当您使用 jQuery 或任何其他流行的库时,您将受益于无数的测试、错误修复和业内最优秀的人才。

现在,当然,您不需要使用其他人的框架。如果你有能力的话,创建自己的图书馆;这也有效!目标是:

  • 规范浏览器怪癖
  • 少写代码
  • 从尽可能多的人的思想中受益
  • 满足真正的截止日期并完成工作

jQuery 不是“设计师的库”,但它对设计师很有吸引力。它不像其他库那样基于类,但这使得新手的入门更加轻松。所以我们最终得到的是一个帮助重新点燃 JavaScript 社区的库。它足够简单,足以吸引新手,而且功能强大,足以被世界上最大的公司使用。到底为什么又被批评呢?

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

28

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

23

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

27

2026.02.28

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

16

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

18

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

2

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

164

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

8

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

309

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号