我们与专家讨论了JavaScript –文字记录

今天上午与专家对话的主题是JavaScript,我们的专家是Ara Pehlivanian,这是我们最新著作《 Jump Start JavaScript》的合著者。 这是一个繁忙的会议,问题从基础到高级不一而足,令人耳目一新。 阿拉出色地抵御了部落,甚至设法度过了一段愉快的时光。 令人印象深刻。

会话中产生了很多有用的资源,下面列出了这些资源,以节省您对整个成绩单的筛选。 如果您错过了会议并想看看一切如何进行,那么您很幸运–您还将在下面找到完整的笔录。

资源:

Ara的书–快速入门JavaScript (您可以免费预览第一章
关于如何帮助人们学习编程的有趣文章。
Douglas Crockford的真棒JavaScript资源
关于原型的有趣文章
一对夫妇的JS掉毛工具: JSLint的JSHint
如何激活浏览器的控制台以访问调试器
Mozilla的JS资源站点
WebPlatform.org上的JavaScript资源
方括号 –开源代码编辑器
Github上的jQuery
Github上的YUI
Github上的骨干网
在Github上强调
最后-一些JS模板工具: Moustache JS Handlebars JSUnderscore

如果您由于不了解而错过了本次会议,请确保在此处注册以获取有关未来会议的电子邮件通知

最后, 下周我们将尝试一些不同的东西 。 我们内部的CSS专家Alex Walker将帮助您解决可能遇到的任何棘手的CSS问题,所以请不要错过任何一个。

现在...成绩单。 请享用。

[21:23] <HAWK>大家好-我们很快就会开始。 在此期间,随时自我介绍。

[21:23] <Ara>嗨,我叫Ara,我与Don Nguyen共同撰写了Jump Start JavaScript。 :)

[21:24] <codepo8>我的名字叫克里斯,我喜欢网络

[21:25] <HAWK>我是Hawk,我是SitePoint的社区经理–我将主持本次会议

[21:30] <HAWK>对–所以我们不妨开始

[21:30] <HAWK>您真正需要知道的只有两件事。 您可以@标记人物以引起他们的注意,并且您可以随时提出问题。

[21:30] <HAWK>如果Ara在回答别人,我会把他们排队给他

[21:31] <Ara>因此,我在写书时发现有趣的一件事是试图弄清楚解释这些内容的顺序。

[21:31] <HAWK>我想大家都知道Ara是我们的专家,并且他是我们的最新书《 JumpStart JavaScript》的作者,该书将于今天发布

[21:31] <HAWK> https://learnable.com/books/jsjavascript1

[21:33] <时代>许多事情是相互依存的。 因此,例如,在解释数组时,有一些实例可以使用函数对数组进行处理,但我们尚未涵盖函数……

[21:33] <Ara>…这就是其中之一,“我们稍后会详细介绍”。

[21:33] <阿拉>发生了几次。

[21:33] <codepo8>这很棘手

[21:33] <萨加尔>这是一个很好的思路。

[21:33] <codepo8>我个人希望“ hello world”在大火中死亡。

[21:33] <johnlacey>哈哈。 我爱“ Hello world”。

[21:33] <HAWK>是的-尽管“ Hello World”有 话要说

[21:33] <codepo8>在上下文中解释概念使人们更加兴奋。

[21:34] <MalCurtis>应该有一本与语言无关的通用“编程基础”书,要求所有人在阅读任何其他编程书之前都必须阅读它

[21:34] <Ara>可悲的是,我确实使用了“你好,世界”。 一次或两次。 但是我想我也参加了一些“世界统治”。

[21:34] <阿拉>;)

[21:34] <Velochicdunord>是的。 作为一名CS学生,我的问题之一就是简单地从现有的库和API开始

[21:34] <MalCurtis>因为每本书都必须涵盖该广告的无限内容

[21:34] <steven> MalCurtis,计算机编程艺术:P

[21:35] <codepo8>可学习的编程正试图破坏这个想法。 http://worrydream.com/LearnableProgramming/ ,我已经看到人们开始采用这种方法。

[21:35] <MalCurtis> steven JumpStart:每种语言……从此。

[21:35] <Velochicdunord>我的意思是Javascript API。 例如,对于Web开发人员和游戏而言,哪些最有用。

[21:35] <Ara> Velochicdunord:在两种情况下,很多核心API都是有用的

[21:36] <Ara> Velochicdunord:或者您是说DOM API?

[21:37] <codepo8>从游戏开始是危险的。 为了使游戏正常工作,您需要走很多弯路,并引入许多仅适用于游戏的概念,例如股票代码和主循环。 在“网站”或“ Web应用程序”场景中,您永远不需要它。

[21:37] <Ramy>难道我只是在2007年认为过时的教学方式就是JavaScript书吗?

[21:37] <Ara> Velochicdunord:如果您要开发游戏,那么大部分游戏将使用核心语言的逻辑运算符,数据操作等来构建……这是当您进入渲染时,游戏与游戏的选择制作网站。

[21:38] <HAWK> Ramy Simply JavaScript仍然是有效的资源,但是正如您所说,它是前一段时间编写的,因此这本新书

[21:38] <Ara>您可以选择使用Canvas渲染游戏,也可以使用在DOM中操纵的精灵

[21:38] <Ramy>感谢HAWK的回复:)

[21:38] <brick> @Ara关于浏览器的依赖性如何? 使用jQuery更安全吗?

[21:38] <Velochicdunord>好–看一下DOM(我还没有做过):P

[21:39] <Ara> Ramy:我不会说它已经过时,但是JavaScript仍在继续发展,因此我们需要跟上这种发展。

[21:39] <Velochicdunord>那么–哪些位最适合哪种用途? 可用的库每月递增。

[21:39] <Ara>砖:绝对更安全,而且节省大量时间,但是始终牢牢掌握本机JavaScript总是更好地了解库中发生了什么。

[21:39] <Ramy>谢谢Ara :)

[21:40] <HAWK>对于会议中的其他所有人–如有疑问,请不要等待。 快进去,我将他们排队。

[21:40] <Ara> Velochicdunord:DOM基本上是将网页的HTML转换为对象的层次结构。 使用DOM意味着更新网页。

[21:40] <JoshySav>刚刚加入:一个问题:jQuery还是纯JavaScript?

[21:41] <Ara> JoshySav:取决于您在做什么。 很多时候,您不想重新发明轮子,jQuery。 但是您不会在jQuery中编写100%的代码,因此就可以使用本机JavaScript。此外,了解jQuery的功能也很不错。

[21:41] <brick>我听到回声

[21:42] <johnlacey>如果您正在做一些简单的事情,则可能需要避免JQuery的额外负担。

[21:42] <Ara> JoshySav:另外,随着JavaScript的发展,jQuery过去所做的许多事情在浏览器中都变得本机可用。 例如,很长一段时间以来,我们习惯于手动编写getElementsByClassName。 现在,库将移交给本机方法(如果存在)。

[21:42] <Ara> johnlacey:是的。 这是根据具体情况做出的决定。

[21:42] <阿拉>砖头:道歉:)

[21:42] <JoshySav>太感谢了:)

[21:43] <johnlacey> @Ara —那么您认为Java初学者应该注意的任何菜鸟错误?

[21:43] <JoshySav>还有一个问题,为什么网络上有这么多技术使用JavaScript?

[21:43] <codepo8>需要很多jQuery来填补浏览器支持中的漏洞并简化访问文档的复杂方式。 这已经改变了。 浏览器更符合标准,我们使用jQuery所做的很多事情都可以在CSS中完成,并且可以通过浏览器为您加速硬件和优化内存。

[21:44] <HAWK> johnlacey –我想说要依靠它,考虑到这些天来有那么多人禁用它;)

[21:44] <johnlacey> @霍克-绝对。 那是我的恐惧。 大声笑

[21:44] <Ara> johnlacey:变量范围可能是一个问题。 如果您不了解变量作用域,则可能会覆盖数据并导致错误。 另外,理解类型强制是另一种。 不知道==和===之间的差异可能会导致意想不到的后果。

[21:44] <codemaestro>我还没有完全关注。 作者是赞成还是反对修改JavaScript对象原型?

[21:45] <Velochicdunord> Thx codepo8。

[21:45] <codepo8> @HAWK很好,将人们拒之门外。 您可以依靠JS –如果您构建的是使体验更加流畅的工具。 基本功能应该始终是给定的。 链接应指向某个地方,而不是触发可能已损坏的JavaScript。

[21:45] <HAWK>密码大师-尚未涵盖。 让我们扔给阿拉

[21:45] <Ara> JoshySav:JavaScript是浏览器的事实上的脚本语言。 过去,您可以在Microsoft的Visual Basic和JavaScript之间进行选择,但JavaScript赢了。 目前正在努力引入竞争性脚本语言(例如Google的Dart),但是JavaScript几乎是唯一的选择。

[21:46] <JoshySav>阿拉谢谢:)

[21:46] <JoshySav>与有头脑的人交谈真是太好了;)

[21:47] <Ara>代码大师:这是一个敏感的话题。 一些库做到了这一点,有些开发人员对此很满意,但是您必须记住,在网络上,您的代码经常会与其他人共存,因此,如果您真的喜欢本机对象原型,则可以开始与其他人的代码发生冲突。

[21:47] <阿拉> JoshySav:我想你是说其他客人。 :)

[21:47] <johnlacey> @Ara —鉴于可以禁用Javascript(如@Hawk先前指出的),您是否应该避免某些事情?

[21:47] <HAWK>我认为他是在谈论我阿拉

[21:47] <JoshySav> :)

[21:47] <Ara> HAWK::)

[ 21:48 ] <JoshySav>老实说,有多少人关闭了JavaScript?

[ 21:48 ] <codemaestro>谢谢Ara-答案是,“取决于情况”。

[21:48] <HAWK>是的,有趣的问题JoshySav。 我(显然)在SitePoint论坛上花费了很多时间,因此我的观点出现了偏差–但是那边有相当大数量的人这样做……

[21:48] <Ara> johnlacey:这完全取决于您正在构建的站点/应用程序。 如果需要100%可访问性,则需要研究渐进式增强功能,该站点可以在使用和不使用JavaScript的情况下工作。 但是并非所有站点和应用程序都具有该要求,因此您可以使用纯JavaScript应用程序。 视情况而定。

[21:49] <HAWK>辅助功能人员

[21:49] <codepo8>在加载并执行第一个脚本之前,每个人都必须关闭JavaScript。 如果那里出了问题,而您的整个应用程序都依赖于此,那么您将失去一个用户。

[21:50] <johnlacey>我的生活中有很多形式验证都依赖于Javascript……但是我想我将不得不使用PHP后备,以防万一。 大声笑

[21:50] <Velochicdunord> Ara –关于Java脚本实现和使用的最佳实践的任何推荐资源(当然,除了您的书之外)? 你的书涵盖了这个吗?

[21:50] <ginader>特别是在移动环境中,用户更有可能无法加载js而不是关闭js

[21:51] <Ara> johnlacey:根据经验,您永远不应依赖JavaScript作为唯一的数据验证形式。 由于人们不仅可以关闭JavaScript,而且还可以弄乱浏览器中的值和功能,因此它应该比提供保护措施更方便。

[21:52] <codepo8> ^那。 我有cURL,我将使用它!

[21:53] <codepo8>前一天,由于JS错误,Chrome下载页面无法正常工作半天: http//icant.co.uk/talks/h5/pictures/jqueryeu/chrome-download- broken.png –这里最大的明显错误是“ javascript:void(0)”链接。 这些是我们当今时代不应该犯的罪行。

[21:53] <Ramy>这本书是解释JavaScript语法和DOM并在浏览器中使用它,还是现在正在为移动平台使用的应用?

[21:53] <HAWK>我对Velochicdunord的问题感兴趣:关于Java脚本实现和使用的最佳实践的任何建议资源(当然,除了您的书之外)?

[21:53] <Ara> Velochicdunord:我在书中介绍了一些最佳实践,但是我不深入。 关于最佳JavaScript做法,有几种思路。 就我个人而言,我将其归因于Douglas Crockford( http://www.crockford.com/)的思维方式。 在jQuery社区中,您会发现很多防御性编程技术,例如将代码封装在

[21:53] <Ara> IIFE(立即调用函数表达式),其中“ undefined”和“ window”的值被重新初始化。

[21:54] <Velochicdunord>我今年二月刚找到Doug Crockford。 仍然有很多不足之处。

[21:54] <codepo8>您之前失去了他吗?

[21:54] <Ara>在JavaScript上指向Crockford的更具体的链接: http : //javascript.crockford.com/

[21:55] <Ara> Ramy:这本书介绍了JS语法和DOM,但未明确涉及移动环境。

[21:55] <Velochicdunord> codepo8 :) –不–作为菜鸟,以前没有听说过他。 大约是他关于Javascript历史的系列讲座的一半。

[21:56] * Mattevans用大鳟鱼拍打MalCurtis一点

[21:56] <HAWK>啊–旧的鳟鱼巴掌

[21:56] <mattevans> :-)

[21:56] <johnlacey>哈哈。 我从来没有见过鳟鱼的耳光。

[21:57] <Ara> Velochicdunord:他是JSLint( http://www.jsliint.com)的作者 这是一个JavaScript整理工具,可帮助您查找代码中的错误。 从本质上讲,它是对代码样式的克罗克福德思想流派的一种提炼。 某些人与他不同,并分叉了JSLint并创建了JSHint( http://www.jshint.com) ,它具有相同的作用

[21:57] <Ara>,但 据称 更为友好。

[21:58] <HAWK>事情现在变得安静了–有人问过一个尚未得到回答的问题吗?

[21:58] <ralphm>我读过许多JS书籍,但是当我一个人呆着时,我确实很难用JavaScript进行“思考”。 如果某事不起作用,则很难知道该转向何处。 通常,JSLint和JSHint报告该代码很好,但是却无法正常工作。 那么问题来了:“我该如何与浏览器对话?” 除了谷歌搜索以外,还有其他任何下一步建议吗?

[21:58] <Velochicdunord> Merci –是的,创立了JSLInt&Hint业务。 :)

[21:58] <codepo8>与道格拉斯一起工作了一段时间让我大开眼界。 他知道自己的东西,但是对事情可能很教条。 我喜欢。 如果您没有让生活中的任何人烦恼,那么您可能没有意见或新想法。

[21:59] <Ara> ralphm:学习爱调试器。 我发现,如果您在代码中设置断点然后逐步执行,并密切注意传递的值,则通常会很快发现问题所在。

[22:00] <codepo8> @ralphm浏览器中的开发人员工具会在很多情况下告诉您哪里出了问题。 JSLINT仅告诉您明显的语法问题。 例如,无法捕获交互失败或格式错误的数据。 那是浏览器的错误控制台为您提供帮助的地方。

[22:00] <Ara> ralphm:现在所有主要的浏览器都已内置调试器。 在本书的第一章中,我实际上介绍了如何激活浏览器的控制台以访问调试器: https : //learnable.com/books/jsjavascript1/online/ch01.html#d5e162

[22:00] <Barney>容易惹恼某人……只需说“ MS Rulz!”

[22:00] <Velochicdunord> Barney :)

[22:00] <johnlacey>我希望我有更多问题……但是我正在等待咖啡流到我的大脑。 但是,我已经下载了这本书,并期待阅读。

[22:01] <codepo8>也只是在控制台上玩而已。 键入导航器。 并查看浏览器为您提供的所有内容并与他们一起玩。 很多时候,您会找到从未听说过的功能。

[22:01] <ralphm>除了在各个点使用console.log()来查看代码的作用之外,并没有真正让我忙于调试。 问题是,如果出现问题,它不会说要尝试其他方法,这就是我遇到的困难。

[22:01] <巴尼>“ ..当之无愧的鞠躬!”

[22:01] <Ara> johnlacey:随时可以让我提出更多问题。 我是Twitter上的@ara_p

[22:01] <阿拉>这也适用于其他任何人。 我总是可以随时回答问题。 ^^

[22:01] <johnlacey> @Ara-谢谢!

[22:02] <codepo8>,然后转到https://developer.mozilla.org/en-US/docs/JavaScript ,了解这些事情的发生方式和原因。 由勤奋工作的专家团队维护的令人难以置信的资源,他们现在应该睡觉。

[22:02] <Ara>,我的意思是“高兴”。 :)

[22:02] <JC>我有一个问题:如果一个人知道jQuery和基本的Js语法,那么在专业水平上真正了解Javascript的最佳方法是什么?

[22:02] <codepo8>也是http://www.webplatform.org/,是一门崭新的一站式商店,用于管理Web内容,而不是传闻w3schools或stackoverflow。

[22:02] <Velochicdunord>我第二次提出JC的问题。

[22:03] <codepo8>当然还有sitepoint :)

[22:03] <Ara> ralphm:我想我需要写一篇有关调试的博客文章。 :)

[22:03] <codepo8> @JC深入研究了一些库和工具的源代码。 Adobe的Brackets是一个非常热门且制作精良的项目, 网址为http://brackets.io/

[22:04] <Ara> JC:打开jQuery源代码,看看它们在做什么。 这将为您提供很多专业水平的见解。 同样,在GitHub上有很多项目。 另外,在空闲时间,尝试编写代码,让您想到的最疯狂的事情。

[22:04] <ralphm> @Ara那太好了。 :-)

[22:04] <Ara> Velochicdunord ^^

[22:04] <Barney> KEVIN YANK和CAMERON ADAMS撰写的简单JAVASCRIPT我刚刚读完—感谢SitePoint,这本书不错

[22:04] <Ara>巴尼+1

[22:04] <codepo8>第一次我看到SIMPLY尖叫

[22:04] <Velochicdunord>跟随GitHub上的一堆库

[22:04] <HAWK>呵呵,很高兴为巴尼服务

[22:05] <HAWK>欢迎NickY –随时提问(如果有任何疑问)

[22:05] <Ara> Velochicdunord&JC:您可能会更喜欢那些比较流行的开源项目,因为他们有更多的眼睛在审查代码。

[22:05] <Barney>没问题,哈克–我从你们那里读了20本书,参加了5堂课—我一直在吹牛siteP和Lean…一直

[22:05] <Velochicdunord>对于开源遵循什么建议?

[22:05] <Ara>关于开源项目,这是一件很了不起的事情,您无法摆脱垃圾邮件-至少如果您的代码足够流行以至于有很多人在看它,那您就不行了。 :)

[22:05] <巴尼>…争取免费的一个月!” *微笑*

[22:06] <Barney>这里的WP书是很棒的开源指南…

[22:06] <codepo8>是的,开放意味着您的成功和失败为您说话

[22:06] <Velochicdunord>拥有一些。 :)

[22:06] <HAWK> Ah Capt_Snickle_Fritz –很高兴再次见到您

[22:07] <Ara> Velochicdunord:jQuery( https://github.com/jquery/jquery), YUI( https://github.com/yui/yui3), Backbone( https://github.com/ documentcloud / backbone),下划线( https://github.com/documentcloud/underscore)

[22:07] <Velochicdunord> Thx

[22:07] <Capt_Snickle_Fritz>同样是HAWK

[22:07] <Barney> Vel,您有Anthology书吗?

[22:08] <Ara>我猜“来吧,兄弟!” 不是问别人更多问题的最佳方法,是吗? ;)

[22:08] <HAWK>呵呵,喜欢它Ara

[22:08] <HAWK>但是,是的-如果有人有问题,请在有空间的情况下立即加入!

[22:08] <阿拉>这很有趣。

[22:08] <HAWK>您拥有它。 辛苦了

[22:09] <阿拉>感谢客人。 很好的问题,伙计们。

[22:09] <codepo8>为什么以下行不是JavaScript错误:

[22:09] <codepo8> http://vanillawebdiet.com

[22:09] <HAWK>刚加入的您好–如果有任何疑问,请随时加入。 您可以今天晚些时候在SitePoint上查看完整的成绩单。

[22:09] <Ara> codepo8:技巧问题,因为其中没有JavaScript。 ;)

[22:09] <codepo8>否

[22:10] <HAWK>您也可以在这里查看Ara的书https://learnable.com/books/jsjavascript1

[22:10] <codepo8>在脚本中尝试它,不会触发错误

[22:10] <Ara> codepo8:我想知道IRC客户端是否过滤掉了代码,然后因为我看到的只是vanillawebdiet.com URL

[22:10] <Ara>也许将其粘贴到jsfiddle中?

[22:10] <Velochicdunord>否– WP忍者新手有点令人失望–内容不足。 之后,不再购买其他SitePoint图书。

[22:11] <HAWK> IRC客户端不应这样做–应该将其粘贴为要点

[22:11] <ralphm>好吧,我不妨问一下。 无论我阅读了什么(书籍和在线书籍),我都无法找到关于“原型”是什么的简单概念上的答案。 例如Array.prototype。 谁能提供一个盆栽的解释?

[22:11] <Ara> Velochicdunord:如果要预览,可以随时在此处阅读Jump Start JavaScript的第一章: https : //learnable.com/books/jsjavascript1/online/ch01.html

[22:11] <Velochicdunord>第二拉尔夫的问题!

[22:11] <codepo8> https://jsfiddle.net/jp5PZ/

[22:11] <Velochicdunord> Thx,阿拉。

[22:13] <HAWK>我只是想告诉您,如果您想提醒以后的会议,请在此处注册邮件列表http://www.facebook.com/sitepoint/ app_115462065200508

[22:13] <codepo8>本文在原型方面非常出色: http ://dailyjs.com/2012/05/21/js101-prototype/

[22:14] <ralphm>感谢codepo8。 会检查出来的。

[22:14] <Ara> ralphm和Velochicdunord:因此,JavaScript的继承模型是原型。 基本上,这意味着一切都是对象,并且对象是从对象继承的,因此当您从对象继承时,您就是在继承其原型对象。 (党长,我不清楚)

[22:14] <Velochicdunord>不-很好。

[22:14] <HAWK> Hey Jess

[22:14] <JC>谢谢您的回答

[22:15] <codepo8>关于我的错误–暂停填充– JS中这样的URL实际上是一个JavaScript标签,后跟一个注释,因此没有语法错误。 标签已不再使用。

[22:15] <scruggs>您是否可以将其归类为JS语言本身的局限性? 毕竟,直到最近,jQuery和Node.js之类的工具才再次在JS社区中大受欢迎。

[22:15] <jessirwin>嗨

[22:15] <Ara> codepo8:很奇怪,因为在Chrome控制台中,我收到以下错误:SyntaxError:意外令牌}

[22:16] <Ara> JC:我很高兴!

[22:16] <Ara> scruggs:我不确定我是否会跟随。 什么被归类为潜在限制? (原型?)

[22:17] <Ramy> HAWK邮件提醒功能不错,但我希望在类似活动的帖子旁边还有Facebook提醒功能

[22:17] <codepo8>散布了我想说的不同受众。 jQuery大大降低了障碍,并且专注于DOM访问和小部件之类的界面元素创建。 它使访问文档和更改文档中的内容变得非常容易。 Node将JS移至服务器并不受DOM的阻碍,从而吸引了新的读者。 JS的主要推动力是HTML5和Flas

[22:17] <codepo8> h的可靠性较差,因为最新最热的设备(iOS)不支持它

[22:17] <HAWK>非常好的观点Ramy –我可以完全将它们发布为事件。

[22:18] <Barney>感谢您让我加入,在反面看到大家…

[22:18] <阿拉>干杯,巴尼!

[22:19] <codepo8>意外令牌来自jsfiddle的包装器。

[22:19] <NickY>有没有好书着重于将JavaScript用于游戏?

[22:19] <Ara> codepo8:我在jsfiddle中没有得到错误,我直接在chrome控制台中得到了。

[22:19] <scruggs>好的...也许这不是一个限制。 我想我仍在努力进入JS方面……从许多JS应用程序所经历的痛苦中继承。 例如,跳入诸如Knockout.js和Backbone.js之类的框架……似乎真正的诀窍是学习框架及其限制,而不是学习

[22:21] <codepo8>如果您要坚持具有完全继承和变异的基于类的语言的思维方式,而其余的则最好遵循您提到的框架。 JavaScript不会很快在所有理解它的软件中可靠地进行更改,因此尝试“更改JavaScript以使其更像lang”

[22:21] <codepo8> uage $ x“毫无用处。

[22:22] <codepo8>就是说,TypeScript和Dart允许您执行这些操作并为您转换为JavaScript。

[22:22] <NickY>我同意你们Scruggs。 您必须学习框架。 您可以使用几乎不了解js本身的jquery来构建应用程序

[22:22] <Ara> scruggs:通常,您不需要了解继承就可以在JavaScript中执行强大的功能。 但是知道它可以帮助您将代码提升到另一个层次。 也就是说,这并不总是必要的。 您是对的,尽管在框架领域中,与其说是了解JavaScript,还不如说是因为他们在工作,这是因为他们了解API /语法

[22:22] <Ara>在那时完全不同。 您从某种语言的细节中抽身而出,并且正在使用框架的API。

[22:23] <codepo8> NickY当然是以依赖框架为代价的。 如果您使用的是带有大量jQuery的文档,但实际上并没有真正考虑缓存和重用它所访问的内容,那么当您要将应用程序发布到移动设备时,您将非常失望。

[22:24] <codepo8>(免责声明:我现在专注于FirefoxOS设备-针对新市场的低规格智能手机,因此每个事件处理程序和每个DOM访问都会受到伤害):)

[22:25] <Ara> scruggs和NickY:尽管无论是库还是框架,您仍然需要对变量,变量类型,逻辑运算符,数组,对象,函数有基本的了解……您仍然需要使用这些知识东西。 jQuery为您提供了帮助者来访问DOM元素并遍历对象,而Backbone让您可以做一些很棒的MVC事情,

[22:25] <Ara>最后,您仍然在编写JavaScript并传递值并对其进行操作。 因此,您仍然需要了解JS。

[22:25] <HAWK> 5分钟路程。 如果您不熟悉JavaScript,并担心听起来有些笨拙,但有疑问,请提出。

[22:25] <HAWK>当您学习时,没有愚蠢的问题

[22:25] <阿拉>没有愚蠢的问题:)

[22:26] <Ara> HAWK *轰!

[22:26] <HAWK>确实如此

[22:26] <BluePandaStudios> codepo8 / Ara:我来晚了,所以我很抱歉如果涉及到这一点,但是有没有建议您考虑移动访问的框架?

[22:26] <NickY>很好,但是jquery中有很多函数甚至不需要知道

[22:27] <johnlacey> @HAWK我很确定我今天已经激怒了技术专家……但是我在Facebook页面上收到有关与专家交谈的电子邮件通知……并且输入后是否应该有一个单击按钮?细节? 因为没有。 大声笑

[22:27] <codemaestro>哦,是的。 有多少用户实际上在使用ExtJS / Sencha Touch与jQuery Mobile?

[22:27] <scruggs> ara…我认为最困难的部分是试图学习语言在某些时候的合作方式。 我按行业是C#程序员,但是我试图在JS社区中站稳脚跟,所以我一直在尝试学习有关基因敲除.js,主干的所有知识,并尝试使用node.js进行构建。

[22:27] <Ara> BluePandaStudios:我不知道我知道jQuery有一个移动组件,而YUI内置了移动组件(以及可以使用的特定于移动设备的模块,如触摸控件)

[22:28] <BluePandaStudios>另外,您认为对库的任何反馈都是“ _must checkout _”(jQuery ...除外)?

[22:28] <NickY>以$(element).is(':hidden')为例-无需了解任何核心js基础知识,jQuery会为您完成所有这些工作

[22:29] <NickY>我喜欢jquery,但有时我认为它使我们变得懒惰。

[22:29] <Ara> scruggs:我认为您正在学习这些框架真是太好了。 但是我认为您应该花一些时间来浏览本机JavaScript,以更好地了解JS如何处理松散类型和类型强制或变量作用域。 随着您的程序变得越来越复杂,这些事情变得很重要。

[22:29] <HAWK>哦,约翰拉西,你把它弄坏了。

[22:29] <codepo8> BluePandaStudios的sencha触摸效果很好,jQuery mobile需要一些修饰,Zepto.js暂时是一个非常轻量级的。 很大程度上取决于您的工作。 有时候,您只需要锤子.js之类的东西(这使触摸交互变得简单)

[22:29] <HAWK>好,我有–对不起! 立即修复。

[22:29] <johnlacey> @HAWK-这样看来。 大声笑

[22:30] <scruggs> Ara:我肯定会再次回到JS的基础知识。 上一次我使用本机JavaScript尝试遍历DOM时经历的很痛苦! :)

[22:31] <Ara> NickY:jQuery绝对比每次都写出幕后做的事更方便。 也就是说,了解它在做什么可能会有所帮助。 特别是如果您要编写Web应用程序的代码,这些应用程序会在客户端中进行很多繁重的工作,而在DOM层上则不必要。

[22:31] <HAWK>一小时后再检查johnlacey –在本次会议之后,我将对其进行整理

[22:31] <codepo8> NickY我会在那里争论,如果您不知道YUI的某些元素何时被隐藏,则需要让浏览器告诉您(这意味着它需要访问DOM和尝试一下),那么您还没有计划好用户界面。 浏览器在那里显示,而不是保留显示逻辑。

[22:31] <scruggs>有没有漂亮的JS模板工具?

[22:31] <Ara> NickY:例如,如果您要编写基于JS的电子表格,例如Google Docs中的电子表格。 我敢肯定,幕后正在发生大量的非库JavaScript操作。 当需要渲染这些东西时,他们可能会使用一个框架。

[22:32] <HAWK>哇,时间已经过去了。 我们将需要开始包装东西,以便我可以免费割掉Ara

[22:32] <codepo8>如果您将CSS类添加到父元素并将此逻辑保留在CSS中,您会惊讶地发现您不需要遍历DOM多少次。

[22:32] <HAWK>我将不再打新问题,但我不会关闭房间,因此您可以随意闲逛并聊天,只要您愿意

[22:32] <codepo8> scruggs是– mustache.js和handlebars.js

[22:32] <johnlacey>谢谢@Ara @Hawk

[22:32] <HAWK>不要忘记查看Ara的新书https://learnable.com/books/jsjavascript1

[22:33] <阿拉>斯克鲁格斯:是的。 您拥有Mustache JS( https://github.com/janl/mustache.js/)、 Handlebars JS( http://handlebarsjs.com/)甚至Underscore都有一个模板系统( http://underscorejs.org /#模板)

[22:33] <HAWK>下周同一时间,我们将与Alex Walker一起运行实时CSS代码修复会话

[22:33] <codemaestro> This has been a real ADHD experience.

[22:33] <Ara> scruggs: just off the top of my head

[22:33] <Ara> codemaestro: tell me about it! :D

[22:33] <NickY> I agree ara, I guess all I was really trying to say is that I believe everyone should get a strong understanding of js before turning to libraries

[22:33] <Ara> I hope I didn't miss anyone's questions. Please repeat them if I did.

[22:34] <codemaestro> NickY or go into the libraries with a desire to find the underlying behaviours

[22:34] <HAWK> I want to say a huge thanks to Ara – you've been an absolute legend today, handling the hoards alone

[22:34] <codemaestro> I had a problem with $(elem).text(”) not producing the same result in two different point versions of Chrome.

[22:34] <Ara> NickY: I agree. Although over the years, the hardcore engineer in me has given way a little to the business dude in me who says that sometimes, to get the job done, you can just go the route of not having to know everything. (Shhhh, don't tell anyone I said that.) ;)

[22:34] <HAWK> Much appreciated

[22:34] <codemaestro> @ara LOL

[22:34] <Ara> HAWK: You're too kind. :)

[22:35] <NickY> Ara lol yes I have been getting to that point. I blame freelancing:)

[22:35] <BluePandaStudios> HAWK, thanks for the talk, great time!

[22:36] <scruggs> Thanks. I am pleased with the suggestions and that nudge forward to continue learning more about the basics of JS and the technologies that incorporate it!

[22:36] <Ara> codemaestro: Yeah, i'm not sure what text() uses under the hood, but it could be that they didn't account for changes from one Chrome release to another.

[22:36] <NickY> HAWK – is there a way to get alerts without going to Facebook?

[22:36] <Ara> codemaestro: I know that there are differences between IE and the rest of the browsers when it comes to innerText and textContent, so it could be something like that.

[22:37] <HAWK> NickY not at the moment, but you don't need to have a Facebook account to use that form

[22:37] <NickY> Oh ok sweet I will do that then

[22:37] <codemaestro> true. eventually i discovered through trial/error/much googleing that the element needed the hasLayout property or something to be set.

[22:38] <NickY> thanks to ara, hawk, and everyone. This was fun.

[22:38] <codemaestro> I got a few more library names to scope out when I have time.

[22:39] <Ara> codemaestro Ahh.. the legendary hasLayout ;)

From: https://www.sitepoint.com/we-talked-javascript-with-the-experts-here-is-the-transcript/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值