装饰器的初识,基于bootstrap的前端开发
1装饰器的初识
概念:不改变函数原来的调用方式,动态地给函数添加功能
开放封闭的原则:1>对添加的新功能是开放的,32>不要在元代码进行修改(封闭)
1.1>函数的定义:对代码块和功能的定义和封装
def func():
print("哈哈哈") func()

1.2>函数可以当做变量一样来赋值

1.3>函数可以向普通变量一样放到容器(列表,字典,元组)中
def func():
print("鞠婧祎是我前女友") def foo(): print("宋智孝是我钱女友")
lst = [func,foo]
for el in lst:
el()

1.4>一个函数的函数名可以当做是另一个函数的参数

1.5>一个函数可以做为另一个函数的返回值
def func():
def foo():
print("李智恩,我也很喜欢") return foo
func()() 把一个变量或者函数放到函数里具有保护该变量和数据的作用

2,装饰器
2.1>装饰函数放在被装饰函数的上边
2.2>函数内部return 的函数名不要加括号

3,应用:在不改变源代码的基础上,需要添加新的功能
4,页面加载完之后才执行的JS代码
4.1>DOM方式:window.onload = function(){...}重新加载页面(当JS代码写在了HTML代码的前边)
4.2>jQuery方式:$(document).read(function(){...})重新加载( 导入的jQuery在JS代码的后边)
5,Bootstrap:是前端的一个框架(可以基于这个框架直接开发)
5.1>Twitter公司开元的一个前端开发框架,(里边包含了大部分HTML,CSS,JS的代码)
5.2>Bootstrap的版本(目前是3.3版本)
5.4>Bootstrap:1>下载:https://v3.bootcss.com/ 2>link标签导入Bootstrap.css或者bootstrap.min.css
5,常用样式类:
5.1>容器:container和container-fluid(两边留白)
5.2>栅格系统:把一行均分成最多12列,可以设置标签占多少列
5.2.1>row表示一行
5.2.2>col-xx-**表示一列:xx:表示样式适用的屏幕尺寸(-xs 手机, -sm 平板 -md桌面显示器 -lg超大屏幕)
**:表示占多少份:取值范围"1~12
5.2.4>col-xx-offset-**:表示左侧空几份
5.2.5>列支持在再嵌套(嵌套里边也是一行,分成12份)
5.2.6>列排序:col-xx-push-*--->向右推,col-xx-pull-*---->往左拉
装饰器的初识,基于bootstrap的前端开发的更多相关文章
- 分享六个基于Bootstrap的实用开发教程和模板演示
关于Bootstrap,相信大家一定不陌生,它已经成为现在主流产业的一个重要工具,Bootstrap提供了优雅的HTML和CSS规范,它基于jQuery框架开发的,它在jQuery框架的基础上进行了更 ...
- 基于.Net进行前端开发的技术栈发展路线(三)
前言 上一篇<我的技能树二>文章分享了我的技能中的前端技能和Java技能,今天继续跟大家分享的就是后端技能了. 我的技能树 我当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗 ...
- 基于.Net进行前端开发的技术栈发展路线(二)
前言 上一篇<我的技能树>文章分享了我的技能成长过程,还未完成,今天继续跟大家分享. 01 我的技能树 我的当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗帜的为使用熟练.未 ...
- 基于.Net进行前端开发的技术栈发展路线(一)
前言 今天想讲讲的是我的技术树.我最初是做CS开发的,第一阶段的技术经历是以Powerbuilder来做CS开发,第二阶段开始基于C#做winform开发,眼看前端开发越来越流行,需要更广泛的技术栈势 ...
- 基于TypeScript装饰器定义Express RESTful 服务
前言 本文主要讲解如何使用TypeScript装饰器定义Express路由.文中出现的代码经过简化不能直接运行,完整代码的请戳:https://github.com/WinfredWang/expre ...
- Java设计模式12:装饰器模式
装饰器模式 装饰器模式又称为包装(Wrapper)模式.装饰器模式以多客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰器模式的结构 通常给对象添加功能,要么直接修改对象添加相应的功能, ...
- 装饰器模式(Decorator)
转自http://blog.csdn.net/hust_is_lcd/article/details/7884320 1.认识装饰器模式 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象 ...
- Python装饰器的另类用法
之前有比较系统介绍过Python的装饰器(请查阅<详解Python装饰器>),本文算是一个补充.今天我们一起探讨一下装饰器的另类用法. 语法回顾 开始之前我们再将Python装饰器的语法回 ...
- 装饰器(Decorator)模式
1 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能.通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式.显然,直接修改对应 ...
随机推荐
- ps---图层,移动工具
1.移动图层从一个文件到另一个文件相当于复制,如果俩文件大小相同,开始移动后,按下shift键,可保持原来位置.若不相同,拖拽后,按shift,则会自动居中.如果目标文档包含选区,会到选区的中央. 2 ...
- 条款19:设计class犹如设计TYPE(Treat class design as type design)
NOTE: 1.Class 的设计就是type的设计.在定义一个新type之前,请确认自己已经考虑过本条款所有主题(具体参考effective c++).
- 07 mongodb
mongodb mongodb简介 简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据 ...
- 杭电 1241 Oil Deposits (很好的dfs)
Description The GeoSurvComp geologic survey company is responsible for detecting underground oil dep ...
- CTSC1998 选课(背包类树形Dp)
题意: 给出 n 节课的先修课号以及学分(先修课号指的是在学习某节课时先需要学习的课程),求学 m 节课的最大学分. 细节: 1.对于课程 a 其先修课号为 b ,对于课程 b 其先修课号为 c ,则 ...
- Leetcode 304.二维区域和检索-矩阵不可变
二维区域和检索 - 矩阵不可变 给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2). 上图子矩阵左上角 (row1, c ...
- [luoguP1783] 海滩防御(二分 || 最短路 || 最小生成树)
传送门 因为答案满足单调性,所以看到这个题,第一反应是二分,但是总是WA,也没有超时. 看了题解,,,,,, 这题刚开始很多人会想到二分,二分答案,然后看看是否能绕过所有信号塔,但是,这样写明显超时, ...
- Poj3253:Fence Repair 【贪心 堆】
题目大意:背景大概是个资本家剥削工人剩余价值的故事....有一块木板,要把它切成几个长度,切一次的费用是这整块被切木板的长度,例如将一个长度为21的木板切成2和19两块费用为21,切成两块的长度及顺序 ...
- 博弈 Nim问题 POJ2234
定义: 通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是 “选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了, 则判负(因为他此刻 ...
- 【BZOJ2982】combination(Lucas定理)
题意:求C(n,m) n,m<=200000000 思路:c(n,m)=c(n mod mo,m mod mo)*c(n div mo,m div mo) mod mo (n>=mo或m& ...