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的前端开发的更多相关文章

  1. 分享六个基于Bootstrap的实用开发教程和模板演示

    关于Bootstrap,相信大家一定不陌生,它已经成为现在主流产业的一个重要工具,Bootstrap提供了优雅的HTML和CSS规范,它基于jQuery框架开发的,它在jQuery框架的基础上进行了更 ...

  2. 基于.Net进行前端开发的技术栈发展路线(三)

    前言 上一篇<我的技能树二>文章分享了我的技能中的前端技能和Java技能,今天继续跟大家分享的就是后端技能了. 我的技能树 我当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗 ...

  3. 基于.Net进行前端开发的技术栈发展路线(二)

    前言 上一篇<我的技能树>文章分享了我的技能成长过程,还未完成,今天继续跟大家分享. 01 我的技能树 我的当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗帜的为使用熟练.未 ...

  4. 基于.Net进行前端开发的技术栈发展路线(一)

    前言 今天想讲讲的是我的技术树.我最初是做CS开发的,第一阶段的技术经历是以Powerbuilder来做CS开发,第二阶段开始基于C#做winform开发,眼看前端开发越来越流行,需要更广泛的技术栈势 ...

  5. 基于TypeScript装饰器定义Express RESTful 服务

    前言 本文主要讲解如何使用TypeScript装饰器定义Express路由.文中出现的代码经过简化不能直接运行,完整代码的请戳:https://github.com/WinfredWang/expre ...

  6. Java设计模式12:装饰器模式

    装饰器模式 装饰器模式又称为包装(Wrapper)模式.装饰器模式以多客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰器模式的结构 通常给对象添加功能,要么直接修改对象添加相应的功能, ...

  7. 装饰器模式(Decorator)

    转自http://blog.csdn.net/hust_is_lcd/article/details/7884320 1.认识装饰器模式 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象 ...

  8. Python装饰器的另类用法

    之前有比较系统介绍过Python的装饰器(请查阅<详解Python装饰器>),本文算是一个补充.今天我们一起探讨一下装饰器的另类用法. 语法回顾 开始之前我们再将Python装饰器的语法回 ...

  9. 装饰器(Decorator)模式

    1  装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能.通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式.显然,直接修改对应 ...

随机推荐

  1. tomcat域名配置

    修改tomcat目录下的web配置文件 vim conf/server.xml 在host标签内添加 <Context path="bbs" docBase="/a ...

  2. RHEL6.5 DHCP服务器搭建

    RHEL6.5 DHCP服务器搭建: DHCP服务器是用来分配给其它客户端IP地址用的,在RHEL 6.5中DHCP服务器搭建方法如下: 第一步,通过yum安装dhcp服务: 命令:yum insta ...

  3. python 模块学习(二)

    一.日志模块(logging ) 日志是一种追踪软件运行时所发生事件的方法 1.简单的日志编写(文件输出) import logging # 日志模块 # 日志配置,把日志内容存到文件中 loggin ...

  4. 转载:better-scroll的相关api

    格式:var obj = new BScroll(object,{[option1,],.,.}); 注意:1.要确保object元素的高度比其父元素高 2.使用时,一定要确保object所在的dom ...

  5. django1.11 启动错误:Generator expression must be parenthesized

    错误信息: Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0 ...

  6. BootStrap学习02栅格系统

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 【Kubernetes】Kubernetes的Service外部访问方式:NodePort和LoadBalancer

    Kubernetes的Pod的寿命是有限的,它们不会复活,因此尽管每个Pod都有自己的IP地址,但是这些IP地址是不可靠的,会随着Pod的消亡而消失. 这就带来一个问题,如果一些Pod的集合(称之为b ...

  8. [codeforces724D]Dense Subsequence

    [codeforces724D]Dense Subsequence 试题描述 You are given a string s, consisting of lowercase English let ...

  9. 【二分+尺取】HDU 6119 小小粉丝度度熊

    http://acm.hdu.edu.cn/showproblem.php?pid=6119 [思路] 首先通过处理交叉的可以处理成不交叉的 然后二分查找答案 如何判断一个长度是否可行? 双指针O(n ...

  10. hdu 4091

    #include<stdio.h> #include<math.h> __int64 gcd(__int64 a,__int64 b) {  if(b==0)   return ...