JS入门

js 发展

浏览器发展史

第一个图形浏览器是 Mosaic, 1993 年问世,由马克.安德森和伊利诺伊大学合作完成。

1994 年,马克.安德森和 Silicon Graphics (SGI 硅图)创始人吉姆.克拉克合作创立 Mosaic Communication Corporation .

Mosaic 公司成立后,由于伊利诺伊大学拥有 Mosaic 浏览器的商标权,并且将技术转让给 Spy Glass 公司。所以 马克.安德森以及他的研发团队就重新写了一个新的浏览器 Netscape Navigator ,1994 年 11 月 公司也改名叫 Netscape Communication Corporation ,中文翻译 “网景”。

微软的 Internet Explorer(IE)以及 Mozilla Firefox 等,早期的版本都是以 Mosaic 为基础开发的。

微软随后买下了 Spy Glass 公司的技术开发出了 Internet Explorer。而 Mozilla Firefox 则是网景开放源代码后所衍生的版本。

JavaScript 起源

1996 年,JavaScript 作为 Netscape Navigator 浏览器的一部分出现。最初的设计木匾是为了改善网页的用户体验。 作者:Brendan Eich

早期 JavaScript 命名为 LiveScript。

网景公司和 Sun 公司合作推广,Sun 公司有一门语言叫 Java,所以改名 JavaScript。后来 Sun 公司被 Oracle 公司收购,JavaScript 版权归 Oracle 公司所有。

浏览器

浏览器分为 shell 和内核

内核:

  1. 渲染引擎
  2. js 引擎
  3. 其他模块

js 引擎

2001 年微软推出了 ie6,首次实现对 js 引擎的优化和分离。在此之前 js 并没有单独的与浏览器分离

2008 Google 发布最新浏览器 Chrome ,采用了 Google 开发的 V8 引擎。V8 引擎能够把 js 代码直接转为机械码来执行。

后来 Firefox 也推出了强大的 js 引擎

主流浏览器及内核

市场份额在 3%以上,拥有自己的浏览器内核。

  1. IE trident
  2. Chrome webkit/blink(2013)
  3. firefox Gecko
  4. Opera presto/blink(2013)
  5. Safari webkit

webkit 是一个开源的浏览器内核,由于源代码结构清晰,易于维护被 Apple 公司采用,在 Safari 上使用。Google 也在 Chrome 上使用 webkit。

2013 年,Google 根据 webkit 研发了自己的 blink 引擎,Opera 随之也使用了 blink。

至此,现代浏览器主要内核就只剩四个:WebKit、Blink、Trident 和 Gecko

ECMA 标准

为了取得技术优势,微软推出了 JScript,CEnvi 推出了 ScriptEase,与 JavaScript 同样可以在浏览器上运行。为了统一规格 JavaScript 兼容于 ECMA(European Computer Manufacturers Association 欧洲计算机制造联合会) 标准,因此也成为 ECMAScript

ES5 、 ES6 、ES6+

JS 入门

js 是解释性语言,单线程。

js 引用方式

<script type="text/javascript">console.log("hello world!")</script>

<script src="./index.js"></script>

如果在外部引入 js 标签里写 js 代码,不会生效。

变量(variable)

// 变量声明
var a; // 向系统申请一个内存空间
// 变量赋值
a = 100; // 赋值

// 简写
var b = 100;
var c = 200;

// 多变量声明
var b = 100,
  c = 200;

变量命名规则:

  1. 变量名必须以英文字母、下划线_、$开头
  2. 变量名可以包含英文字母、下划线_、$、数字
  3. 不可用系统关键字、保留字作为变量名

变量名一定要好理解
大驼峰、小驼峰命名

数据类型

// 1. 原始值  stack
//   Number、Boolean、String、undefined、null
// Number 默认为浮点型
var a = 1;
var b = 1.0;

// Boolean 只有两个值,true false
var flag = true;

// String 字符
var str = "JS入门";

// 只声明未赋值的变量,值就是undefined   define 定义
var c;
var d = undefined;

// null 一般来说是用来占位用的,代表 空
var e = null;

// 2. 引用值 heap
// Array Object function Date RegExp
var arr = [];
arr = [0, 1, 2];
arr = [0, 1, 2, "string"];

var obj = {};
obj = {
  name: "朱明宇"
};
obj.address = "马涧";

var test = function() {};

var date = new Date();

var reg = new RegExp();

语法

  1. 以“;”结束
  2. 任何符号左右都有空格

浏览器控制台的讲解

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容