JavaScript教程
JavaScript基础
类型转换
|
|
内置对象
- Array (concat,fill,find,join,indexOf,pop,slice ,shift,sort,splice,resuce)
- Function( apply,bind,call)
- JSON
- Map
- Math (abs,ceil,floor,pow,round)
- Number
- Object
- RegExp
- Set
- String (chatAt ,concat,indexOf,lastIndexOf,search,slice,split,substring,toLowerCase,trim)
JavaScript客户端
- 在客户端,全局变量都在 window 对象里面
JQuery 的实现
- 实现 $对象的构造方法
- class ${ function $() }
|
|
前端组件化
页面 -> 区块 -> 组件 -> 基础 UI 组件
- 基础 UI 组件:将常用的逻辑、功能统一封装起来。例如:Table、Input
- 业务组件:基于【基础 UI 组件】,将功能或者需求类似的有机体封装成一个业务组件,对外暴露接口来实现灵活的可定制性,这样就可以在不同的页面中复用同样的逻辑和功能。例如:基于 Table 和 Input 实现的可输入表格
- 区块:有些页面会展示同样的区块,这时候可以基于【基础 UI 组件】和【业务组件】再进行一次分装,成为一个独立的区块以便直接复用。例如:基于 Table 和 Input 实现的可输入表格以及其他内容构成的区块
组件库划分:
- 通用型组件:按钮 Button、图标 Icon
- 布局型组件:布局 Grid、布局 Layout
- 导航型组件:面包屑 Breadcrumb、下拉菜单 Dropdown、菜单 Menu
- 数据录入型组件:表单 Form、开关 Switch、文件上传 Upload
- 数据展示型组件:头像 Avator、表格 Table、列表 List
- 反馈型组件:进度条 Process、抽屉 Drawer、对话框 Modal
- 其他业务类型
箭头函数
ES6 标准新增了一种新的函数:Arrow Function(箭头函数)。
为什么叫箭头函数?
|
|
因为它的定义用的就是一个箭头。上面代码相当于:
|
|
什么时候不能使用箭头函数呢?
- 定义对象方法
- 定义原型方法
- 定义构造函数
- 定义事件回调函数
跨域
同源策略
「同源策略」是一个重要的安全策略,它用于限制一个 origin 的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
如果你违背了同源策略并且没有做跨域优化的话,当你调用接口的时候,会看到如下报错提示:
|
|
- 协议:
http://
- 域名:
www.baidu.com
- 端口:
:80
- 请求路径:
/myfile.html
- 请求参数:
?name=jsliang
- 锚点:
#chapter-one
只有当:
- protocol(协议)、domain(域名)、port(端口)三者一致,才是同源。
注意 http
可以省略端口 80,而 https
可以省略端口 443。
跨域限制
跨域只存在于浏览器端,浏览器为 web 提供访问入口,正是这样的开放形态,所以我们需要对他有所限制
可以在
http
返回头 添加X-Frame-Options: SAMEORIGIN
防止被别人添加至iframe
。
解决跨域的方法
-
CORS
-
Node 正向代理
-
Nginx 反向代理
-
JSONP
-
WebSocket
-
……
-
设置 Node 的
res.setHeader('Access-Control-Allow-Origin', '*');