CRUD应用:创建、读取、更新、删除
AngularJS双向数据绑定
your name:<input type="text" ng-model="yourname" placeholder="world">
hello {{yourname || 'world'}}!
AngularJS应用三个组成部分:
模板:HTML/CSS
应用程序逻辑Logic和行为Behavior
模型数据Data :通过作用域来保持数据模型与视图界面UI的双向同步
服务特性:
底层服务:依赖注入,XHR,缓存,URL路由和浏览器抽象服务
可以扩展和添加自己特定的应用程序
nodejs
1.下载 angular-phonecat 文件 在e:盘
2.git bash默认路径也是在e:盘
3.用 git bash 输入
mkdir scott 回车
ls 回车 --》看到当前目录的所有文件
cd scott
ls
cd imooc/beginning (scott文件里的文件)
li
node server.js -->运行 server.js
URL:定位
URI:标识
打开node的URL文档 http://nodejs.cn/api/url.html
git bash-->
node -->
url-->
1.url.parse('http://imooc.com/course/list') -->
显示:Url {
protocol: 'http:', 底层协议
slashes: true,
auth: null,
host: 'imooc.com', 网址
port: null, 端口 默认为8080
hostname: 'imooc.com', 主机名
hash: null,
search: null, 查询字符串参数
query: null,
pathname: '/course/list', 路径名
path: '/course/list', 路径
href: 'http://imooc.com/course/list' 超链接
}
2.url.parse('http://imooc.com:8080/course/list?from=scott&course=node#floor1') -->
显显示 Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com:8080',
port: '8080',
hostname: 'imooc.com',
hash: '#floor1',
search: '?from=scott&course=node',
query: 'from=scott&course=node',
pathname: '/course/list',
path: '/course/list?from=scott&course=node',
href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1' }
3.url.format({
protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com:8080',
port: '8080',
hostname: 'imooc.com',
hash: '#floor1',
search: '?from=scott&course=node',
query: 'from=scott&course=node',
pathname: '/course/list',
path: '/course/list?from=scott&course=node',
href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1'
}) -->
显示http://imooc.com:8080/course/list?from=scott&course=node#floor1
4.url.resolve('http://imooc.com','/course/list') -->
显示 http://imooc.com/course/list
5.url.parse('http://imooc.com:8080/course/list?from=scott&course=node#floor1',
true)
-->
显示 Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com:8080',
port: '8080',
hostname: 'imooc.com',
hash: '#floor1',
search: '?from=scott&course=node',
query: {from:'scott',course:'node'}, 不同地方 变成了对象
pathname: '/course/list',
path: '/course/list?from=scott&course=node',
href: 'http://imooc.com:8080/course/list?from=scott&course=node#floor1' }
6.url.parse('//imooc.com/course/list',true,true) -->
Url {
protocol: null,
slashes: true,
auth: null,
host: 'imooc.com',
port: null,
hostname: 'imooc.com',
hash: null,
search: '',
query: {},
pathname: '/course/list',
path: '/course/list',
href: '//imooc.com/course/list' }
协议 端口号 主机 主机名 哪些是hash 来标识唯一的特定资源
url的作用:识别路径 访问数据
HTTP的重要性:
http:就是协议
流程:
http客户端发起请求,创建端口
http服务器在端口监听客户端请求
http服务器向客户端返回状态和内容
具体如下:
1.Chrome 搜索自身的DNS缓存
2.搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
3.读取本地的HOST文件
4.浏览器发起一个DNS的一个系统调用
5.浏览器获得域名对应的IP地址后,发起HTTP “三次握手”
6.TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了使用了,比如说:用http的
GET方法请求一个根域里的一个域名,协议可以采http1.0的一个协议
7.服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理的一个结果
的数据返回给浏览器。如果是百度的页面,就回把完整的hTML页面代码返回给浏览器
8.浏览器拿到了百度的完整的HTML页面代码,在解析和渲染这个页面的时候,里面的JS CSS
图片静态资源,一个HTTP请求,都是需要经过上面主要的七个步骤。
9.浏览器根据拿到的资源进行渲染显示
http1.0的请求方法:
GET 读取数据
POST 提交数据
PUT 更新内容
DELETE 删除
HEAD 发出指定资源的请求
TRACE
OPTIONS
客户端 --》 服务器 --》
浏览器向服务器发起请求的流程:
接受请求后
chrome://net-internals/#dns 查看浏览器的DNS缓解记录
HTTP进阶
什么是回调
案例:
function learn(something){
console.log(something)
}
function we(callback,something){
something += ' is cool'
callback(something)
}
we(learn,'nodejs')
we(function(something){
console.log(something)
},'jade')
显示:
nodejs is cool
jade is cool
什么是同步/异步
同步:就执行一个任务后再执行下一个任务,只能按顺序执行
异步:每个任务都有几个回调函数
什么的单线程/多线程
单线程:单个进行
多线程:同时进行多个
什么是I/O:数据的进/出
什么是阻塞/非阻塞 :
什么是事件:鼠标点击是一个事件
什么是事件驱动:
什么是基于事件驱动的回调
什么是事件循环
什么是作用域:全局 局部
访问函数的能力
什么是上下文:
是调用当前代码的引用 this指向调用这个方法的对象
全局变量使用this,指向函数拥有者
构造函数使用this,指向新构建好的函数,实例对象。