编程方法
- 面向过程
- 面向对象(常用)
三个作用:封装、 继承、多态。
参考文档:https://www.jianshu.com/p/0fb5b788ee63?utm_source=desktop&utm_medium=timeline
两个库(别人封装了很多方法):
(1)underscore 文档地址 https://www.html.cn/doc/underscore/
(2) lodash
服务器的同步和异步
- 同步:一个时间只做一件事;
- 异步:一个时间做多件事;
获取后台数据
- 需要接口和接口地址
- 如何请求后台数据:方法有原生ajax、jQuery的ajax方法、axios库...等
- axios的使用(套路)
// 获取数据
function () {
var url = 'http://huruqing.cn:3000/api/film/getList';
axios.get(url).then(function (res) {
console.log(res);
//如果获取成功执行上面内容,如果获取失败执行下面内容。
}).catch(function (error) {
console.log(error);
})
使用面向对象的方式编写代码
- 把一整个页面看作是一个对象
- 把页面中的各种动作(功能)封装到一个个函数里
- 需要完成什么任务就通过对象调用相应的方法
例如:
/**
* 电影首页
* hm
*/
// 把home页面所有的功能都封装到homeView对象里,在需要的时候去调用
var homeView = {
// 获取数据
getData: function () {
var url = 'http://huruqing.cn:3000/api/film/getList';
axios.get(url).then(function (res) {
console.log(res);
}).catch(function (error) {
console.log(error);
})
},
// 轮播图
swiper: function () {
},
// 渲染列表
renderList: function (list) {
},
// 切换影片列表
changeList: function () {
console.log('切换影片列表')
}
}
调用的顺序:特别注意服务器的同步和异步规则
“一般等数据加载完再调用方法,避免数据还没加载完方法已经执行的情况!”
举个栗子(结合上文代码):
需求是:渲染列表;
方法一:
},
// 切换影片列表
changeList: function () {
console.log('切换影片列表')
}
}
// 首先要获取数据
homeView.getData();
homeView.renderList();
方法二:
var homeView = {
// 获取数据
getData: function () {
var url = 'http://huruqing.cn:3000/api/film/getList';
axios.get(url).then(function (res) {
console.log(res);
// 拿到数据后调用渲染页面的方法
homeView.renderList(res.data.films);
}).catch(function (error) {
console.log(error);
})
},
以上两种方法,显然方法一是不可行的!
JSON数据转对象:
var item = JSON.parse(list[i].item);
ending...
@——@今日份低级错误:
错解————————————————————————
var item;
item += 333;
与
var item= ' ';
item += 333;
是一样的,脑子锈掉了哟。。。。