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 有许多经验不足的用户这一事实并不是它的失败;而是它的失败之处。这证明了它的吸引力。

MC_Shop 微维B2C网上商城系统(服装网店版)
MC_Shop 微维B2C网上商城系统(服装网店版)

MCShop v2.88 b2c网上商城系统(服装版)、购物系统、网店系统 开源免费商业使用授权。 MCShop v2.88 B2C网上商城大量采用AJAX技术,用户体验良好,短信提示功能使您的站点尽显大站风度,尺码,颜色管理为服装服饰行业量身定做。 您想足不出户让全球客户来找你吗?建设一个网上商城系统购物系统轻松做到。 MCShop v2.88 B2C商城(服装版)是一款优秀的网上商城系统网店系

下载

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不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

16

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

222

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

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

精品课程

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

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