奇舞js笔记——第1课——js概述(八卦)

注:



1.学习视频地址

2.ppt地址

3.个人感想:

  是我hin厉害的师父推荐我看的月影大大的视频,感觉对于我这个小白来说,真的是一遍又一遍的刷新知识面。我觉得像月影大大这种大佬的思路,我接触之后真的是受益匪浅。

  所以我总结出来不仅是自己记笔记,也是想分享给想要成为真正的前端“工程师”的前端er。

  真的很珍惜这种知识面被刷新的感觉——越学习,越感到自己无知,共勉。

目录



1.js简史

2.js特点

3.js做什么

4.js系语言

5.谁在用js

6.奇舞课程主要内容

7.奇舞课程不讲的内容

8.兼容性查看(Mark)

正文


1.简史

最开始网景叫livescript,后来IE叫JScript,当时java正当红,所以改了个名字抱大腿(但其实和java没半毛钱关系)

1997年ECMA组织标准化了ecmascript

之前的浏览器大多支持ES3,最近几年es5,现在W3C每年都会推出一个版本的ES,比如名字叫ES2017。

时间轴:

空窗期有JS2/ES4因为各种原因(包括xhtml,想抛弃一些标准,不被接受)挂掉了。

2.js特点

动态 + 弱类型

解释型或实时编译(JIT)型语言(纯粹的解释型会很慢,所以有了jit实时编译技术)

面向对象(ES6之前通过原型实现,ES6之后就有class)

函数式特征(过程抽象等等)

灵活和可扩展性(可自定义对象属性,属性的只读性,迭代器等等)

反射与元编程

高性能(能很好的利用单个CPU的能力,很多场景下比如nodejs比php性能好)

单线程异步非阻塞

3.js做什么

(通过 DOM)改变网页文档元素和属性

(通过 BOM)操作浏览器 api

(事件机制)响应用户行为

(XHR、Fetch、WS)发送和接收数据

(Storage)保存数据和状态

(Timer、Promise)执行异步任务

(ArrayBuffer、TypedArray)处理数据

(File API)操作文件

4.js系语言

(编译成js)

5.谁在用js

浏览器

服务端nodejs、

用nodejs执行工程化、

树莓派(单板计算机,硬件,可以部署node,跑js),

数据库mongoDB,

可以用react native写ios/andriod程序、

开发游戏(cocos2d)

总结:js跨平台的趋势比java要好(非引战hhh)

6.奇舞课程主要内容

符合 ECMA-262 (ES6)最新规范 的 JavaScript,不回避新特性(向前看)

基本类型、原生类型、浏览器 API、Node API

大部分语言特性(特别是ES5 及 之前的版本在 chrome 40 以上已完全支持)

重点讲 JavaScript 的独有特性及其应用场景,以实际工作常见和常用的为主

重点讲函数、面向对象、过程抽象和函数式,总之能发挥 JS 动态特性的常见模式

会涉及到语言基础、运行环境(比如浏览器环境、Node

会涉及到部分后端、HTTP 请求相关内容,这些内容对前端工程师高质量完成工作也是很有必要的。

7.奇舞课程不讲的内容

过时的不符合规范的特性,比如 ES3 和之前版本里被废弃和修正的部分

基础通用的编程语言特性,比如常见的基本 if、for、while、switch 语句

一些稍微不那么复杂,可以自学,工作中也会用到的内置类型,比如 Date

具体框架的使用,课程中例子可能会用到,但不会系统讲,因为这部分内容可以看文档

其他一些因为时间限制不可能面面俱到的细节,建议阅读 MDN 文档(很全,翻译了很多 或者是相关教程

推荐的书:红宝书和犀牛书

8.兼容性查看

速查http://kangax.github.io/compat-table/es5/

兼容性处理方案:

方案 1: shim & polyfill

https://github.com/es-shims/es5-shim

https://github.com/es-shims/es6-shim? ??????

https://polyfill.io/

方案 2: library

实际项目里对于兼容 IE8 以下浏览器建议使用 jQuery(不太复杂)

方案 3:Babel / JSX / TypeScript...

时间: 2024-08-05 02:22:04

奇舞js笔记——第1课——js概述(八卦)的相关文章

奇舞js笔记——第0课——如何写好原生js代码

摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当程序员). 注: 1.学习视频地址 2.ppt地址 3.个人感想: 是我hin厉害的师父推荐我看的月影大大的视频,感觉对于我这个小白来说,真的是一遍又一遍的刷新知识面.我觉得像月影大大这种大佬的思路,我接触之后真的是受益匪浅. 所以我总结出来不仅是自己记笔记,也是想分享给想要成为真正的前端“工程师”

奇舞js笔记——第2课——代码风格

注: 1.学习视频地址 2.ppt地址 3.个人感想: 是我hin厉害的师父推荐我看的月影大大的视频,感觉对于我这个小白来说,真的是一遍又一遍的刷新知识面.我觉得像月影大大这种大佬的思路,我接触之后真的是受益匪浅. 所以我总结出来不仅是自己记笔记,也是想分享给想要成为真正的前端“工程师”的前端er. 真的很珍惜这种知识面被刷新的感觉——越学习,越感到自己无知,共勉. 目录 1.代码风格存在的意义 2.代码风格是什么 3.遵守怎样的代码风格 4.怎样学习代码风格 5.一些特殊的代码风格:IIFE,

【js笔记】神奇的js将a标签转换为超强的submit按钮

标题可能说的有点浮夸了0.o 在以前做页面的时候,是将form表单中的提交按钮写成 <input type="submit" /> 但是,总是觉得没有a标签设置样式好用,所以写了这样一个js函数来实现将a标签转换为submit按钮. 先上码: js代码: // 将a标签可用于表单(form)的提交js函数 //适用于一个form中有多个submit情况 function tosubmit(action_str){ var myform=document.getElement

node.js在windows下的学习笔记(1)---安装node.js

1.首先打开http://www.nodejs.org/ 2.选择DOWNLOADS,跳转到下面的画面,我的系统是windows7的32位.所以选择.msi的32bit版本. 3.下载后,得到一个5.43MB大小的安装包, 4.运行安装包 点击next 打个勾,点击next 选择安装目录 最后,安装成功啦 node.js在windows下的学习笔记(1)---安装node.js,布布扣,bubuko.com

PPK谈JS笔记第一弹

以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) load事件在页面被完成加载时触发,显然这正是我们初始化脚本所需要的.问题是如果同时批量初始化,可能会发生替换,最后的赋值会替换前面的. js变量名,方法名等区分大小写使用分号作为语句分隔符注释是// /**/代码块使用{} undefined nullundefined:你访问了一个对象不存在的属性或

Node.js笔记(0003)---Express框架Router模块学习笔记

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: Map the given param placeholder `name`(s) to the given callbac

# JS笔记(1)

 JS理论: 1.JavaScript是一个客户端脚本 ------工作在客户端的浏览器完成:相对应的PHP.ASP.NET .JSP 是一个服务端脚本. 2.JS可以插入到HTML中的任意一个位置,不过HTML解析式从上往下解析的,所以放在上面可能会找不到控件. 3.JS的特点: 脚本编程语言 基于对象的语言 由事件驱动 跨平台.依赖于浏览器.与操作环境无关 4.JS的作用: 表单的验证(放在客户端验证比较好)----可以减轻服务端的压力,并且用户体验感更好 页面的动态效果 动态改变页面的内容

node.js笔记——模块的开发

模块是什么? 简单来说模块是用来将实现某个功能的代码进行封装以便在其他项目中通过简单引入的方式实现模块中封装的功能的一个东西!!(我更想管他叫小程序). 模块的引入 模块的引入使用reqiure()函数来实现例如引入http模块 var h = require("http"); 这里需要注意的是require()加载函数可以加载指定的js文件,当引入的不是某个js文件而是一段没有扩展名的字符时,默认node.js会加载当前根目录下的node_modules文件夹下面的文件夹里的文件 并

Node.js笔记(一)

=============node.js  note ========================== 1 NodeJS是一个服务器端JavaScript解释器        apt-get install node node.js 的安装学习请查看下列url:http://www.runoob.com/nodejs/nodejs-install-setup.html  +++++++++++++node.js 安装+++++++++++++++  +安装:  +     sudo apt-