跨域 node git

promise
异步回调地狱:就是多个异步请求嵌套的表现
瑕疵:后期维护难
解决:通过promise技术
什么是promise:就是一种异步编程的解决方案
有三个状态:进行中、成功了,失败了
var p1 = new Promise(function (resolve, reject) { // Promise构造函数 有1个实战 方法
// 方法有2个形参 底层 也是 方法
//1.异步处理代码
//2.判断异步结果
if (操作成功) {
resolve(data) //数据处理完成
} else {
reject(err) //数据处理出错
}
})
var p2 = new Promise(....)
var p3 = new Promise(....)
...
 
p1
.then(function (data) {
console.log('操作成功,数据:' + data)
return p2; //相当于将p2的代码拿过来执行,然后继续调用方法
})
.then(function (data) {
console.log('操作成功,数据:' + data)
return p3; //相当于将p3的代码拿过来执行,然后继续调用方法
})
.then(function (data) {
console.log('操作成功,数据:' + data)
return p4; //相当于将p4的代码拿过来执行,然后继续调用方法
})
//....
.catch(function(err){
console.log(err)
})
.....
async/await
async function 函数名() {
var data = await Promise 对象
.....
}
异步变同步解决纵向太深
回调函数
回调,回调,就是回头调用的意思,主函数的事先干完,回头再调用传进来的函数
跨域
顾名思义跨域名请求,举例a网址【异步请求】了b网址
跨域导致原因:浏览器同源策略
同源策略规则:只要 协议、域名、端口 有一个不一样 则称之为 跨域
同源策略:保证网站数据安全
1-后端声明header头 header("Access-Control-Allow-Origin: *")
2-**JSOP原理 2.1-静态页面通过script标签加载接口,
2.2-接口调用函数 实参是要响应的数据,
2.3-静态页面声明函数,接受参数
3-服务器配置(了解)
4-**前段代理
 
jquery
jq 是基于js封装的一个库(强调 库是一个文件,框架是多个文件)
用JS封装的库,
将原生JS代码封装起来,提供简单的方法供外部操作。
好处:1-更加方便操作网页,2-解决兼容性问题
下载:1-jquery.com/download 2-百度jq cdn
版本:1.x(兼容ie) 2.x 3.x 国内还是推荐使用1.x
JQ->JS $()[0]
JS->JQ $(JS标签对象)
选择器
CSS选择器
过滤选择器 :first :last :eq :odd :even
语法:$(选择器)
常用方法:prev()/next()/parent()/parents()/find()/sibling()
样式1:$().css(CSS属性名,CSS属性值) $().css(JSON对象)
样式2:$().add/remove/has/toggleClass(类名)
属性 :$().attr(属性名,属性值) $().attr(JSON对象)
内容:$().html/text/val() 不传参获取,传参设置
节点:第一个子prepend 最后子append 前兄弟before 后兄弟after 删除remove
$().事件类型(function(){ })
$().on(事件类型,function(){})
委托$(父).on(事件类型, 子, function(){})
 
循环
$.each(数组/对象,function(index, item){});
$(选择器).each(function(index, item){ });
版本控制软件
顾名思义就是一个软件,你每次文件修改它都记录下来,万一代码冲突丢失都可以从记录里面找回
实现开发项目多人协作开发
为了避免代码冲突或丢失使用版本控制软件
版本控制软件是什么:就是一个软件
作用:记录代码每次修改,万一冲突或丢失可以找回
种类:git(黑猫)、svn(龟)
1-得先有仓库 存放项目代码
2-通过版本控制软件 管理仓库代码
github
就是一个网站
作用:创建仓库,存放项目代码
好处:1-防丢失,防误删 2-便于多人协作开发
git解决冲突
拉取dev最新代码合并到自己分支解决完冲突提交
日志回滚
1-多人修改代码冲突 解决:通过git pull 然后提交
2-代码丢失(1别人误删,2版本回滚)
解决:查看提交日志,然后回滚
分支管理
查看分支:git branch
创建分支:git branch 分支名
删除分支:git branch -d 分支名
切换分支:git checkout 分支名
合并分支:git merge 分支名 (注:将其他分支代码合并到当前分支)
 
npm
就是用来下载node第三方模块的命令行工具
去哪下:不用下,node装好了自带的 直接用
验证:DOS窗口敲npm -v
下载模块:npm i/install 模块名或模块名@版本号 默认--save/--save-dev -g
卸载模块:npm uninstall 模块名
思考:--save和--save-dev有什么区
相同点:1-都是下载第三方模块,2-都会在package.json中记录
不同点:记录的位置不同
-g
在全局目录 npm config list去看
作用:只能在dos窗口敲命令,切记切记切记加-g项目中不能require
gulp
因为需要压缩项目中的js、css等静态资源,从而减轻服务器压力,加快访问速度
是前段自动化构建/压缩工具
从而减轻服务器压力,加快访问速度
 
前端代理
解决跨越
代理请求http-proxy-middlewar
css预处理
Sass(SCSS)* vue库/框架
LESS* react库/框架
Sass
导入 @import '路径及文件名';
变量 $变量名: CSS属性值;
嵌套:咋大括号中写选择器即可 会自动加父前缀
混入:@mixin 名称($变量:默认值) {} @include 名称
继承:%名称 {} @extend %名称 jq extend({}) es6 extends 子覆盖父普通方法 子构造函数super
函数:@function 函数名() { @return } 调用 CSS属性名: 函数名()
 
其次SASS和LESS区别:1-声明变量分别为$和@,2-实现方式
Less是基于JavaScript,是在客户端处理的。Sass是基于Ruby的,是在服务器端处理的。
 
模块
将一个复杂的程序,依据一定的规则/规范封装成几个块/文件,内部具体实现是隐藏的只保留部分接口/方法给外部使用
可以解决命名冲突;更好的分离,按需要的加载;提高代码可维护性、可扩展性;
 
闭包
什么是闭包:两个函数彼此嵌套,返回内部函数
特点:1-局部变量常驻内存,2-函数体外可以使用
 
设计模式
设计模式:前辈的开发经验总结的开发思想
思想好处:1-便于维护,2-增强代码重用性,减少代码冗余等
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/bahkkba/p/12374739.html