没有合适的资源?快使用搜索试试~ 我知道了~
PHP开发者的JavaScript快速简明教程
需积分: 0 2 下载量 104 浏览量
2019-05-17
14:26:31
上传
评论
收藏 424KB DOC 举报
温馨提示
试读
48页
该资源是对javascript语言的系统性介绍,写作首要原则是准确、全面,但每个知识点简明,将庞大的js知识压缩为仅A4纸45页的简明教程(约6万字)。主要面向的读者是PHP开发人员,文中附带对比了php与js,帮助PHPer快速记忆,并整理js知识体系,并补充ES6的内容
资源详情
资源评论
资源推荐
PHP 开发者的 JavaScript 快速文档
作者:云客 QQ 群:203286137
首发于专业 Drupal 文档站:http://www.nowicode.com
目录
前言:....................................................................................................................................5
概述:....................................................................................................................................5
符号:....................................................................................................................................5
注释:....................................................................................................................................7
语句:....................................................................................................................................7
保留关键字:........................................................................................................................7
大小写:................................................................................................................................7
变量:....................................................................................................................................7
声明变量:.......................................................................................................................................................................7
动态变量名:..................................................................................................................................................................8
变量作用域:..................................................................................................................................................................8
常量:....................................................................................................................................9
数据类型:............................................................................................................................9
undefined 类型:.............................................................................................................................................................9
数字:.............................................................................................................................................................................10
字符:.............................................................................................................................................................................10
日期:.............................................................................................................................................................................10
ES6 新增的 Symbol 类型:................................................................................................10
类型转换:..........................................................................................................................11
函数:..................................................................................................................................12
普通方式(声明方式):............................................................................................................................................12
表达式方式:................................................................................................................................................................12
箭头函数:.....................................................................................................................................................................14
语句结构:..........................................................................................................................14
条件语句:.....................................................................................................................................................................14
多分支语句:................................................................................................................................................................14
By:云客 1 / 48
for 循环:.......................................................................................................................................................................15
for( in )循环:................................................................................................................................................................15
while 循环:...................................................................................................................................................................15
do/ while 循环:.............................................................................................................................................................15
循环跳出:.....................................................................................................................................................................15
with 语句:.....................................................................................................................................................................16
严格模式:..........................................................................................................................16
错误处理:..........................................................................................................................16
对象:..................................................................................................................................17
对象的特性:......................................................................................................................19
类:.................................................................................................................................................................................19
原型:.............................................................................................................................................................................20
扩展标记:.....................................................................................................................................................................20
对象的属性:......................................................................................................................20
存取器属性:................................................................................................................................................................20
属性的特性(属性元数据):..........................................................................................................................................21
属性读取、赋值、删除:............................................................................................................................................21
遍历对象:.....................................................................................................................................................................21
属性检测:.....................................................................................................................................................................22
数组:..................................................................................................................................22
Set 和 Map:.......................................................................................................................23
遍历器(Iterator): .......................................................................................................24
生成器 Generator:............................................................................................................25
throw 方法:..................................................................................................................................................................26
return 方法:..................................................................................................................................................................26
“yield*”语句:...............................................................................................................................................................26
对象继承:..........................................................................................................................27
原型链方式:................................................................................................................................................................27
函数方式:.....................................................................................................................................................................28
对象冒充方式:............................................................................................................................................................28
原型与构造函数:........................................................................................................................................................29
ES6 新增的 class:................................................................................................................29
class 继承:.........................................................................................................................31
对象在 ES6 中的改变:......................................................................................................32
By:云客 2 / 48
解构赋值:..........................................................................................................................33
数组示例:.....................................................................................................................................................................33
对象示例:.....................................................................................................................................................................33
函数参数使用解构:....................................................................................................................................................33
迭代遍历:.....................................................................................................................................................................33
ES6 代理对象:..................................................................................................................34
ES6 反射 Reflect:..............................................................................................................35
异步编程:..........................................................................................................................35
同步文档加载阶段:....................................................................................................................................................35
异步事件驱动阶段:....................................................................................................................................................35
事件循环:.....................................................................................................................................................................36
Promise 对象:...................................................................................................................37
catch 方法:...................................................................................................................................................................38
finally 方法:.................................................................................................................................................................38
构造函数 Promise 返回的 Promise 对象的状态和状态值:......................................................................................38
Promise.all(iterable):....................................................................................................................................................39
Promise.race(iterable):.................................................................................................................................................40
Promise.reject(reason):................................................................................................................................................40
Promise.resolve(value):...............................................................................................................................................40
异步函数 async:................................................................................................................40
js 代码放置位置:..............................................................................................................40
外部独立文件方式:....................................................................................................................................................40
内部直接放置代码:....................................................................................................................................................41
事件属性方式:............................................................................................................................................................41
url 方式:.......................................................................................................................................................................41
模块:..................................................................................................................................41
导出 export:.................................................................................................................................................................41
导入 import:.................................................................................................................................................................42
动态导入:.....................................................................................................................................................................42
浏览器对象模型 BOM:....................................................................................................42
Window 对象:..............................................................................................................................................................43
location 对象...................................................................................................................................................................43
document.cookie 对象:................................................................................................................................................43
计时:.............................................................................................................................................................................43
警告框、确认框、提示框:........................................................................................................................................43
navigator 对象:.............................................................................................................................................................43
history 对象:.................................................................................................................................................................43
screen 对象:.................................................................................................................................................................44
By:云客 3 / 48
常用方法:..........................................................................................................................44
事件:..................................................................................................................................44
AJAX :..............................................................................................................................45
同源安全策略:..................................................................................................................45
文档间作用域:..................................................................................................................46
常见 js 框架:......................................................................................................................47
补充:..................................................................................................................................47
后记:..................................................................................................................................47
By:云客 4 / 48
前言:
每一位
PHP
开发者或多或少的都掌握一些
JavaScript
知识,本文写在《云客
Drupal8
源码分析》前端相关章
节发布前,意在帮助沉浸在后端世界的
phper
快速进入前端
js
世界(推荐
phper
关注学习
Drupal
,那是
php
世界
的珠峰,极其强大灵活的
cms
系统或者框架,被称
web
操作系统,非常优秀),但本文是独立的
js
教程,写作
首要原则是全面,但每个知识点简明,将庞大的
js
知识压缩为一篇简明教程,如果需要
js
详细资料推荐阅读著
名犀牛书《
JavaScript
权威指南》,可惜目前(
2019
年
5
月)该书尚未发布包含
ES6
的第七版。主要面向
php
开
发者介绍目前常用的
ES5.1
版和
ES6
(
2012
年时所有现代浏览器均已支持
ES5.1
),足以支撑阅读代码和常用
js
操作,但并不介绍服务器端
js
相关内容,为方便记忆本文将对比和
PHP
语言的异同,更多参考资料在文尾列出。
概述:
js 的语法标准由 ECMA 国际制定,官方地址为:http://www.ecma-international.org,该组织前身为:欧洲计
算机制造商协会(European Computer Manufacturers Association),为体现开放、中立的国际组织性质,后改名
为“ECMA 国际”,因此该名称已不属于首字母缩写,ECMA 国际维护很多标准,其中 262 号系列标准即为 js 语法
标准,标准是随着时间发展的,262 号标准包含了 js 已发布标准的所有版本,有个较重要的时间点:2015 年 6
月,该月发布了《ECMAScript 2015 标准》,改动较大,目的是为让 js 支持大型软件开发,如服务器端脚本,此
后每年六月发布新的小幅改进的标准,因此习惯上将 2015 年 6 月及以后的标准统称为 ES6,记住 ES6 是一个泛
指,并不是具体某年发布的特定版本,ES2016、ES2017 相当于 ES6.1、ES6.2 等等,所有 js 标准的版本见:
http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
目前有不少工具可以将 ES6 标准的 js 转码为之前的版本标准。js 不仅可以在浏览器中运行,也可以在服务器端
像 php 脚本一样运行,甚至可以在桌面环境运行(见 Rhino 项目,可调用 java 的全部 API),在不同环境运行有
不同组成部分,但核心规范相同,如浏览器环境下由 js 核心、DOM、BOM 组成,在服务器环境下,安装运行
环境“node.js”即可,这里“node.js”是一个 js 的运行平台,类似 php 引擎,并不是服务器软件,“node.js”封装了谷
歌 V8 引擎来执行 js 脚本;服务器端 js 运行时,无需专门的服务器软件,因此需要 js 脚本自行侦听端口,自行完
成服务器功能,底层调用由“node.js”提供。
符号:
操作符基本和 PHP 一样,以下列出一些不一样或需要注意的符号:
加号“+ ”:
表示两个数相加或者连接两个字符串,在 php 中连接字符串是点号“.”;js 加号的连接操作优先于相加运算,换
句话说字符串和数字相加将是把数字转换成字符串再连接
引号:
在 php 中双引号会检测内部是否有变量,而 js 不管什么引号都不会检查变量,字符串在反引号中才能嵌入变量
推荐用单引号,她们区别并不大:双引号里面的字符串会经过编译器解释,然后再当作 HTML 代码输出;而单
引号里面的不进行解释,直接输出
和号“&”:
和号在 php 中能使基本类型变量按引用传递,在 js 中无此用法,但都用来做位运算符
测试属性是否存在“in”:
示例:var yunke={a:1,b:2};if('b' in yunke){console.log('存在');},注意调试 js 往往用 console.log();向浏览器控制台
输出数据,本文将大量运用该方法
删除运算符“delete”:
类似 php 的 unset(),删除可配置的对象属性或数组元素(见变量的可配置性),删除后为 undefined(该值见
后),删除数组元素后并不改变数组长度(length 属性值),删除后可用 in 操作符测试
void:
对任何值返回 undefined,如:<a href="javascript:void 'yunke';">Click me</a>,点击后没有任何动作
箭头函数“=>”:
By:云客 5 / 48
剩余47页未读,继续阅读
u011474028
- 粉丝: 112
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0