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. js 验证码 倒计时60秒

    js 验证码 倒计时60秒 <input type="button" id="btn" value="免费获取验证码" /> & ...

  2. linux特殊符号大全

    #   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?      $$   $*  " ...

  3. CentOS7搭建NAS,包括NFS、ISCSI

    第一步:安装 更新系统 yum update 安装iftop yum install epel-release yum install iftop 安装NFS yum install nfs-util ...

  4. div mouseenter 事件在IE下无效

    解决方法是在div style上加个背景色: background: rgba(0, 0, 0, 0);filter:alpha(opacity=0); background: rgba(0, 0, ...

  5. WPF 设置透明度和圆形图片

    1 设置效果为

  6. centos上手动编译安装tmux的问题

    https://blog.linuxeye.com/323.html 装个tmux也是不容易.. 关键词:libevent要自己下载2.0版,然后编译.安装时还要各种参数指定目录.

  7. 在C代码中调用C++接口

    一 在C源文件中调用C++封装的接口 例如: 要想在A.c文件中,调用生命在B.h,实现在B.cpp中的接口bool getMAC(char *mac_addr); 其实现方法 B.cpp 如下: / ...

  8. C# 基础(6)--Winform

    WinForm 简称,Windows Form ,调用.Net框架. Return 只是退出当前方法. MessageBox.Show("输入的Email地址是非法的!"); 把整 ...

  9. php pdo预处理语句与存储过程

    很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制.预处理语句可以带来两大好处: 1.查询仅需解析(或预处理) ...

  10. mysql 常用配置

    1. 帐号不允许从远程登陆,只能在localhost 这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从“loc ...