前端
2017-02-02 15:22:16 0 举报
AI智能生成
前端开发是构建网站或应用程序用户界面的过程。它涉及到使用各种编程语言和工具,如HTML、CSS和JavaScript,来创建视觉上吸引人且功能丰富的网页和应用程序。前端开发人员需要具备良好的设计感知能力,以便创建易于使用和导航的界面。他们还需要熟悉各种浏览器和设备,以确保他们的工作在所有平台上都能正常运行。此外,他们还需要与后端开发人员密切合作,以确保数据的正确传输和处理。总的来说,前端开发是一个既具有挑战性又充满创新的职业,它对于任何希望在数字领域取得成功的人来说都是必不可少的技能。
作者其他创作
大纲/内容
react
设计思想
变换
ui是数据映射成另一种形式的数据
纯函数
抽象
复杂的ui由纯函数嵌套调用
复用
组合
多个不同抽象组合成一个
状态
倾向不可变
Memoization
纯函数特性,故可以缓存最后一次结果,相同参数不用重复执行函数
列表
使用map存储不同参数对应不同的值
连续性
延迟执行
柯里化
redux
动机
state量级增长
变化
异步
redux试图让状态的变化变得可预测
通过限制更新发生的时间和方式
三大原则
单一数据源
state只读
只能通过action-reducers修改
reducers使用纯函数执行修改
action
action创建函数,绑定到store dispatch
reducer
(previousState, action) => newState
纯净
不要
default返回旧的state
elm
函数范式
可能遇到的麻烦
可变状态
无限制副作用
无原则设计
不要重复
松耦合强一致
最小意外原则
单一责任原则
一等公民
和对象一样普通
可以当参数传递
可以赋值给变量
可以存到数组中
使用一个函数包含另一个函数,仅仅作为延迟执行是多余的,可以直接赋值
纯函数
相同输入,相同输出,无副作用
副作用
与外部世界进行可观察的交互
系统状态的变化
更改文件系统
往数据库插入记录
发送一个http请求
可变数据
打印日志
获取用户输入
dom查询
访问系统状态
数学中的函数
优点
可缓存性
memoize
可移植性/自文档化
面向对象需要注意隐式的环境
可测试性
根据输入断言输出
合理性
可以使用结果替换一段函数执行
并行
无需访问共享内存
不会进入共享状态
柯里化
只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数
组合compose
管道传输
compose(f,g)
f(g(x))
pointfree模式
函数无需提及将要操作的数据是什么样的
函数,柯里化,组合协作
类型签名
strLength :: String -> Number
match :: Regex -> (String -> [String])
容器
装载任意类型
类似玻璃罐
functor
很多类型
实现map函数并遵守一些特定规则的容器类型
monad
使用一个返回封装的值的函数,放到 flatMap 中处理,返回一个封装后的值
函数定义成一种数据类型
可以变扁的point functor
point functor 实现了of方法的functor
applicative functor
使用 apply 对封装的值使用封装了的函数
functor增强型
让不同的functor可以相互应用
d3
数据可视化
对数据进行可视化处理,使之能够有效,明确的传递信息
大数据可视化
分析所有数据,而非少量数据样本
追求混杂性,而非精确性
关注相关关系,而非因果关系
Data Driven Document
数据驱动文档
声明式
数据转换为图形
类似jquery dom操作
选择器
链式操作
选择
插入
删除
数据绑定
data
比例尺
线性
对数
动态效果
过渡
transition
选择集和数据
update
enter
数据比选择集少,添加
exit
数据比选择集多,删除
交互
事件
数据
布局
获取绘图需要的数据
在画布上添加相应图形
图表
布局:把数据转换为绘图所需数据
canvas
位图
放大失真
不支持事件处理
适合游戏
svg
Scalable Vector Graphics
可伸缩矢量图形
矢量放大不失真
xml,可添加js事件处理
js高级程序设计
基本概念
标识符
变量、函数、属性、函数参数
es内置函数和对象命名使用驼峰法
myCar
严格模式'use strict'
es3不确定的行为将会得到处理,不安全的操作将会抛出错误
关键字和保留字
变量
松散类型
可以保存任何类型的数据
数据类型
undefined
null
空对象指针
定义变量将用于保存对象
null == undefined true
隐式转换
number
parseInt('32',16)
string
Unicode字符序列
转义字符
字符串不可变
num.toString(2)
转换为字符串,二进制
boolean
true,false
非空字符串,''
非0,0或NaN
任何对象,null
,undefined
object
无序键值对
数据和功能的集合
属性和方法
Constructor
hasOwnProperty
isPrototypeOf
函数在es中是对象
typeof
typeof null = object
typeof function
++i
先加1,再执行其他运算
for in
函数
参数数组
命名参数和arguments
修改arguments值,对应命名参数会改变,反之不会
没有重载
子主题
变量,作用域,内存
变量:特定时间保存特定值的一个名字
基本类型
可以操作保存在变量中的实际的值
栈内存
引用类型
不能直接操作对象的内存空间
堆内存
对象指针
所有函数参数按值传递
基本值
引用值
colors instanceof Aray
执行环境
定义变量或函数对其他数据的权限
每个执行环境都有与之对应的变量对象
每个函数都有自己执行环境,当执行流入一个函数时,函数的环境会被推入一个环境栈中,函数执行后,栈将环境弹出
变量对象的作用域链
保证对执行环境有权访问的所有变量和函数的有序访问
垃圾搜集
标记清除
引用计数
循环引用导致问题
解除引用
引用类型
对象,没有类
new Object()构造函数
对象字面量
Array
Function
函数是对象,函数名是指向函数对象的指针
函数声明
函数表达式
函数属性和方法
length
参数个数
prototype
apply
call
bind
基本包装类型
读取模式下访问基本类型值时,创建对应基本包装对象,执行完毕,立即销毁
面向对象
无序属性的集合,其属性可以包含基本值,对象或函数
数据属性
访问器属性
get
set
创建对象
工厂模式
对象识别模式,都是返回Object
构造函数模式
不能复用同一属性
原型模式
数据可视化
子主题
js异步
算法与数据结构
排序
设计模式
存储
cookie
session
localstorage
sessionStorage
安全
xss
csrf
模块化
CommonJs
AMD
CMD
webpack
优化
跨域
同源
协议,域名,端口
http协议
状态码
判断array
Object.prototype.toString.call([])==='[object array]'
查看对象内部的[[class]]
nodejs
nodejs process
request
request
request
多个请求,其中一个请求改变变量,另一个请求到的变量是改变的
采用长期运行的进程
阻塞/非阻塞
单进程
事件轮询
注册事件
不停询问内核该事件是否分发
若分发,执行回调函数
若没分发,执行其他
css
bem
block
element
modifier
postcss
安全
同源策略
cookie安全
domain
path
http
http-only,js无法获取
secure
仅https提交cookie
内容安全策略CSP
编码http响应头
子主题
沙盒
iframe扩展
主页面对子页面及其资源控制
0 条评论
下一页