JavaScript的目的

2016-01-29 11:28 1 1 收藏

JavaScript的目的,JavaScript的目的

【 tulaoshi.com - Javascript 】

    从今天起,我将陆续将 ppk on JavaScript 的读书心得发布到这个blog上。ppk是我所景仰的一位web开发者,原因无它,只是因为作为一个JavaScript的开发者来说,他涉及的领域包括web标准,可用性,无障碍等,正是其他开发者所不关注或者故意忽略的。并且,他写了很多案例测试不同的浏览器,总结出JavaScript的接口(API)兼容性,成为JavaScript开发者重要参考资料,几年如一日,这种钻研精神是很多人所缺乏的。
ppk在今年9月出版了他的书,我从去年起就在等的书。今天拿到手,迫不及待地把第一章阅读完毕。果然让人充满惊喜,他的功力非同一般。虽然只是一个初学者,但我认为我已经走在正确的学习道路上。我想,我若能将学习心得分享,能让正在学习的人看到,可以一起交流一起进步,尽管我不敢确保你能从我这里得到什么启发,但我可以确信,我这些笔记会比你拷贝粘贴代码的学习方式更正确。
这本书有十章,章名都简洁明了,分别是:目的,背景,浏览器,准备,核心,BOM, 事件,DOM, CSS更改和数据获取。从来没有一本书能如此简洁地明确JavaScript的方方面面,因此学习不会有太大负担。前言不宜过多,下面就开始我的第一章学习笔记。
开篇宗义:JavaScript的目的是,为网页增加特别的一层可用性。听起来很简单,但这条黄金定律经常被人误解。就算编写有用的JavaScript, 开发者可能还是没能结合适当的情景:Web标准运动发展下,与当代无障碍的HTML页面的配合。更为不妙的是,有些开发者不是为网页增加一层可用性,而是用整层取代之,后果是,如果浏览器不支持JavaScript, 网站就完了。
概念概述
JavaScript是一门由浏览器解释的脚本语言。它通过在客户端而不是服务器端处理某些交互,比如表单验证,创建新菜单来给网站增添可用性。传统的网页交互是,客户端的一举一动都必须经过服务器端的出来才能反馈回来,漫长的等待会让用户崩溃。而JavaScript可以在客户端代替服务器端做某些事情(最明显的,表单验证),从而提高用户体验。
随着时代的发展,JavaScript能够处理越来越多的交互。问题出现了,JavaScript能做这么多事情,到底要多用还是少用?这就有了富与瘦的对决。是整个页面都用JavaScript来控制交互还是只增加些许的JavaScript来增强可用性?就是说,尽可能地使用JavaScript还是有所节制,甚至不用?
瘦客户端很大程度上依赖于客户端-服务器的通讯,而富客户端尽可能限制额外的数据通讯。
哪种方式更好?尽管富客户端带来一些可用性益处,但瘦客户端可能是更“标准”的JavaScript用法。Web被认为是文档集合,而不是界面集合。最明显的证据是,浏览器有后退前进的功能让你在文档中跳转而界面会有么?浏览器可以收藏(书签)文档而界面可以么?从无障碍来说,瘦客户端也更少出错。
这种非平衡性是很难解决的。富客户端当然也可以在更高级的界面做到前进后退,或者收藏,也可以做到完美的无障碍。这必须需要大量的额外工作,但不是每个项目都有超出预算的时间或金钱。此外,太过专注于可用性而忽略无障碍也是一个问题。
那么JavaScript的目的是为富客户端还是瘦客户端服务?答案是:看情况。得看你的网站,你的受众,你的JavaScript水平。
技术概述
JavaScript分为六个方面,分别是核心(Core),浏览器对象模型(BOM),事件(Events),文档对象模型(DOM),CSS变更和数据获取(XMLHttpRequest)。
上古时代,NetScape领头之时,NetScape3是事实标准。
当代却没有这么简单。ECMA标准化JavaScript Core, W3C标准化DOM,而BOM尚在WHAT-WG的标准化中,W3C也刚有了XMLHttpRequest的第一份草稿。今天,BOM依然遵循NetScape3的事实标准,而XMLHttpRequest还是遵照Microsoft的原始规范。
JavaScript的目的在于为网站增加可用性,而不是破坏用户的隐私和安全。因此JavaScript不允许读写用户的文件(cookies除外),采取同源策略,只允许来自相同域的交互。不允许读取历史记录,不能为上传文件的表单设置值,由JavaScript控制的窗口关闭需经用户确认,由JavaScript打开的窗口不能小于100×100的窗口,不能移出屏幕之外。
JavaScript的历史
探寻历史才能让我们知道JavaScript为什么会被误解得如此深。JavaScript的创造者是Brendan Eich,首次在NetScape 2中实现。它的目的是创建一门足够简单的语言让开发者能容易地为网页增加交互,只要把代码拷贝过来调整一下就可以。这确实令人赞叹,很多JavaScript开发者是从拷贝粘贴开始的。 [next]
不幸的是JavaScript生错了名字,也生错了语法。最初它叫LiveScript,但1996年的时候Java炙手可热,NetScape想搭顺风车,于是某产品经理(我想知道她/他是谁,呵呵),命令更名,命令Brendan Eich让“Javascript像Java”。这让很多人误认为JavaScript是Java的低级版,不能引起严肃程序员的关注。
1996年之时,NetScape 3是王,Microsoft只能照抄。这是一个难得的和谐期,当然,那时候浏览器比起现

来源:https://www.tulaoshi.com/n/20160129/1482462.html

延伸阅读
孕妇做心电图目的 怀孕期间做心电图是有必要的,是为了排除心脏疾病,以确认准妈妈是否能承受分娩。妊娠期间,孕妇的血液处于瘀滞度上升,外周循环阻力增强,部分孕妇容易诱发心脏功能不全甚至衰竭,尤其在生产的时候。 心电图检查内容 很多孕妈在产检时都要做心电图,那么心电图检查内容有哪些呢?心电图的原理是什么呢? 心脏...
标签: 米苔目 绿豆 糖水
绿豆糕 1、绿豆洗净后浸泡至爆开(一般需要24小时)。 2、把浸泡好的绿豆放入电饭锅中,加入水(泡开的绿豆和水的比例是1:5),煮开2分钟后切断电源,焖20分钟后再煮开,然后切断电源焖1小时。 3、将煮好的绿豆水尽可能的倒出(加入冰糖或者糖就可以喝了)。 4、在绿豆糊里加入糖和面粉,搅匀,倒入刷有油的盘子中,上气后蒸10分钟,焖...
标签: Web开发
JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java...
标签: 瓷砖 装修
瓷砖为什么要泡水 对于这个问题,小编也请教了公司的监理师傅,他们告诉小编,瓷砖泡水是为了防止吸收水水泥沙浆的水分,以免造成空鼓,脱落,甚至是裂纹,特别是对于墙面铺贴,在墙面铺贴前,需要对墙面进行洒水工作,也是这个道理。瓷砖或多或少会有一定的孔隙,铺前泡水,是为了让其孔隙充分吸水,而瓷质砖由于致密度较大,孔隙度小...
结婚常见的一些目的 因为爱情而结婚 结婚的原因有很多种,最常见的就是因为爱情,现在很多年轻人到了一定的年轻就会谈恋爱,等到时机成熟了,他们就会举办结婚仪式,宣布两人正式成为夫妻。但是有经历了结婚的人都知道,一对新人成为夫妻之后,两人的感情就慢慢开始变淡,矛盾也就开始了,所以,新人们要做好应对婚后生活的准备...

经验教程

942

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部