草庐IT

javascript - 我从哪里开始学习所有不同的 JavaScript 技术/库?

coder 2024-05-10 原文

我正在构建一个介于 StackOverflow 和 Digg(只是不同类型)之间的站点。通常在过去,我只是使用 ASP.Net Web 表单构建它。但是我想用这个项目作为学习新技术的一种方式。我正在使用非常棒的 ASP.Net Mvc,但我需要学习/使用某种 javascript 库。

例如,当有人对帖子投票时,我希望它立即更新为投票计数,或者如果有人在“标签”文本框中输入文本,我希望它提供当前使用的标签的下拉列表等等。基本上我想为我的网站提供很多 AJAXy 的东西。

所以我的问题是从哪里开始?我感到被这么多选择轰炸,我不确定从哪里开始,甚至不知道它们是什么。有人可以理顺我并提供一些解释和指导吗?

  • JSON
  • JQuery
  • MS-AJAX

我敢肯定,我现在还记得其他一些。

最佳答案

您绝对应该从 Javascript 的基础知识开始。从在页面上打印“Hello World”之类的事情开始。继续学习基本语言功能,例如变量、循环、条件和函数。我推荐W3Schools Introduction to Javascript .不要太沉迷于尝试使用 Javascript 进行面向对象的编程。这是痛苦和困惑的,即使对于一些有经验的 Javascript 程序员也是如此。

接下来,我强​​烈建议学习使用跨浏览器的 Javascript 库,而不是尝试手动完成所有操作(特别是:与 DOM 交互,执行 XmlHttpRequests 又名 AJAX 调用等)。我推荐jQuery library .它为您想做的所有很酷的 AJAX-y 事情提供了坚实的基础,并且有很多 plugins可用。

jQuery 是一个 Javascript 框架,可以轻松可靠地与文档对象模型 (DOM) 进行交互。简单来说,DOM 是网页中所有 HTML 元素的表示。 DOM 因浏览器而异,“手动”与之交互既乏味又容易出错。 jQuery 通过在幕后完成所有艰苦的工作来解决这个问题。它比那更强大,真的,但这是主要功能。它还为页面事件、自定义事件、插件、CSS 操作等提供支持。

JSON是你提到的另一个术语。它代表 JavaScript 对象表示法。 JSON 只是一种用 Javascript 表示结构的轻量级方式(实际上也包括其他语言)。老实说,Wikipedia JSON Article提供了比以往任何时候都更好的关于 JSON 如何与 AJAX 一起使用的总结,所以你可能想要 give it a read .

这是事件的基本顺序:

  1. 您的 Javascript 代码对网页进行 AJAX 调用。您可以使用 jQuery 中的 AJAX 函数执行此操作。
  2. 该网页生成的结果是一个 JSON 对象。例如,它可能会生成如下所示的字符串:{ 'firstname':'Robert', 'lastname':'Smith' }
  3. 结果由您的 AJAX 调用接收,并使用特殊的 Javascript“eval”函数进行评估。
  4. 您剩下一个可以在您的代码中使用的 native Javascript 对象。然后您可以执行以下操作:document.write('Hello ' + result.firstname + ' ' + result.lastname)

以下是我在过去一年左右收集的一些有用链接,它们对我有帮助。我希望他们也能帮到你!

要记住的最重要的事情是:边做边学。实验。尝试新事物。制作一堆概念证明页面。使用 Javascript,这确实是让您开始尝试的最佳方式。祝你好运!

关于javascript - 我从哪里开始学习所有不同的 JavaScript 技术/库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/414494/

有关javascript - 我从哪里开始学习所有不同的 JavaScript 技术/库?的更多相关文章

  1. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  2. ruby-on-rails - 跳过状态机方法的所有验证 - 2

    当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested

  3. ruby - Nokogiri 剥离所有属性 - 2

    我有这个html标记:我想得到这个:我如何使用Nokogiri做到这一点? 最佳答案 require'nokogiri'doc=Nokogiri::HTML('')您可以通过xpath删除所有属性:doc.xpath('//@*').remove或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:doc.traversedo|node|node.keys.eachdo|attribute|node.deleteattributeendend 关于ruby-Nokog

  4. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  5. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  6. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  7. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  8. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  9. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  10. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

随机推荐