js用途

  前端三层
结构层 HTML 从主义角度描述页面的结构
样式层 CSS 从审美的角度装饰页面
行为层 JS 从交互角度提升体验 HTML 里面的 b(加粗)/i(倾斜)/u(下划线)等标签由于严重影响了这三层关系,在严格版不被推荐使用。
为什么要分为三层?使页面像人类一样,有分工,利于维护。
js用来制作web页面的交互效果,提升用户体验。 应用场景如:
轮播图(焦点图):图片左右切换。
选项卡:点击某条目出现与之相应的内容。
表单验证(ajax):
QQ浏览器的欢迎界面。 浏览器 审查 setitings general 下有个 disable javascript 可以禁用 js 。
ajax:
禁用后打开淘宝页面,下拉时不会再出现更多新的商品内容,因为他们是使用 ajax 动态加载的。
这样做可以减轻服务器压力,减少流量。当用户不需要更多内容的时候我们就不必要在页面上传输这些内容。
用户需要时再加载。
这样的技术也叫懒加载。
js在当今如果离开他那么网页将不能正常使用,比如商品无法继续加载。

js的诞生

  1995年 Netscape (网景)公司的一民员工 Brendan Eich (布兰登)开发的。
1996年 首次应用在 netscape 2 浏览器上。
js的名字 当时的不叫 JavaScript ,而叫 LiveScript (活力脚本),但当时 java 语言很流行,网景公司也把名字改得像 java 一样,以增名气。 几个月后 Microsoft(微软) 随着 ie3 推出了与js基本兼容的语言 JScript。
再几个月后 Netscape 把 js 提交到 Ecma Intermational (一个欧洲标准化组织),这个组织在
1997年 发布了 ECMAScript标准第一版。
1999年 以第三版形式更新,第四版由于委员会意见不合没有推出。
2009年 发布了第五版。
2015年 6月发布第六版。

js之父——布兰登

  js是布兰登在网景公司开发的,布兰登被称为js之父。
布兰登后来从网景转向火狐。本来在火狐是做CEO的,但由于他比较传统,反对公司的一些“开放”文化,没过多久就从CEO(首席执行官)降至CDO(开发总监)。

js从丑小鸭到金凤凰

  2003年
广告:页面上的漂浮广告,弹窗广告。所以当时浏览器就推出一个功能,禁用广告,其实也就是禁用js。
特效:比如鼠标后面跟随着星星。当时的工程师都觉得js不用学习,各种特效使用“效果合集”一套就可以了,没有人琢磨语言特性。
2004年
谷歌首次使用 ajax ,比如谷歌推荐google suggest,搜索感应,特别能提高用户体验。
js从此被重视。很多人开始学习js。当时问世了两本js巨作《犀利书》、《高级程序设置》。
2007年
三层分离,iphone发布,人们开始注重用户体验。大家发现了js是web页面中制作交互效果的唯一语言(微软的JScript和VBscript都被市场排斥),js被提到了相应高的一个地位。招聘信息开始出现独立的“js工程师”职位,之前都是后台工程师稍微写写js。
大家都在拼js的用户体验,如查看酒店地址,酒店的地图相应展现。
2008年
chrome 浏览器发布,v8引擎加快了js的解析。之前的浏览器解析js卡顿。
2009年
jQuery 变得流行,解决了浏览器兼容问题。制作页面效果变得简单。越来越多的初学者愿意学习js。
2010年
cnavas 画布技术得到众多浏览器支持。可以用canvas替代flash,并能制作小游戏,比如偷菜、切水果。
2011年
node.js得到应用,即让js运行在服务器上。node.js是单线程非阻塞应用。能让企业用最小的成本实现后台网站。
2012年
html5+css3的流行,也带火了js。没有js,html5+css3也做不了多大的炫酷效果。
2013年
hybrid app 模式开始流行。即做手机app时,老板们发现要雇佣三队人马,iso、安卓、windows phone。花三份工资,产品还不好迭代。这时人们发明了用网页技术开发手机app的技术,叫 web app。 即hybrid app,混合app。同时结合web技术和原生开发技术,省钱,好迭代。
2015年
ecma6 发布,也叫 ecma2015 。改变较大,把语言特性做了颠覆性的增强。

js与其他语言及学习方法

  好学的地方
界面效果,不像c语言。
语法来源于c和java。
是弱变量类型的语言。
运行在宿主环境中,不用关心内存,垃圾回收。
难学的地方
兼容性问题。 不怕造轮子,多写几便。
花式写法很多,抽象。 从简单入手,细细品味代码。
太多细节。 写好笔记,做好实验。
学习方法
多“品”程序,多思考内在逻辑,读懂每一行代码。
js机械重复性的劳动几乎为0,基本都是创造性的劳动(HTML、CSS基本都是重复的)。
永远不要背程序,每一个程序都必须自己会写。

js学习路线

  语言核心
DOM、BOM、页面特效
jQuery
面向对象
组件开发
框架原理
PHP
Ajax
HTML5、CSS3
canvas
node.js

01_JavaScript简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. JSF 抽象和实现例子 (函数和属性)

    ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/ ...

  2. eclipse构建及运行maven web项目

    1:环境 eclipse indigo, JDK1.6, maven 3.2.1, tomcat7.0.42 2:安装eclipse maven插件 m2eclipse 第一种方法:从网上下载m2ec ...

  3. [原创]HEXO博客搭建日记

    博客系统折腾了好久,使用过Wordpress,Ghost,Typecho,其中Typecho是我使用起来最舒心的一种,Markdown编辑+轻量化设计,功能不多不少刚好,着实让我这种强迫症患者舒服了好 ...

  4. golang--gopher北京大会(1)

    大会感想:牛人真的很能写代码,实现很多功能,而且开源的精品越多,影响力越大,越能过上dream life.比如beego的作者,去了America,进入了Apple.另外,精英们特点是表达能力很强,也 ...

  5. EF 6 for mysql

    1. NuGet安装 MySql.Data.MySql.Data.Entity 2.安装Entity Framework 6 Tools for Visual Studio 2012 & 20 ...

  6. python学习之路-day7

    本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 面向对象高级语法部分 静态方法                             ...

  7. js获取文件大小

    var file = urlBox.doc.activeElement.files[0]||urlBox.files[0] ; if (file) { var fileSize = 0; if (fi ...

  8. Delphi初学者,向万一老师致敬

    今天首开博客园... 刚开始学习Delphi难免诸多不懂... 感谢万能的万一老师...

  9. Python-pycharm

    进入博客园的第一篇随笔,作为一个编程菜鸟,最近在学习Python,为毕设做准备.总觉得Python自带的idle不太好用,一位“大鸟”向我推荐了pycharm,于是我就抱着试试看的态度下了一个,目前感 ...

  10. asp.net写验证码

    生成验证码与匹配验证码的服务端代码 <%@ WebHandler Language="C#" Class="ValidataeCodeHandler" % ...