前端三把利器
HTML
         -标签 (成对写不容易忘记闭合)
                    自闭和标签
          标签里写个 xx=xx, 表示标签的属性
          <!— —> 注释
 
     Head:
 

Meta(metadata information)

 
提供有关页面的元信息,例:页面编码、刷新、跳转、针对搜索引擎和更新频度的描述和关键词
 1. 页面编码(告诉浏览器是什么编码)
< meta http-equiv=“content-type” content=“text/html;charset=utf-8”>
<meta charset="UTF-8">
2刷新和跳转
< meta http-equiv=“Refresh” Content=“30″>
< meta http-equiv=”Refresh“ Content=”5; Url=http://www.autohome.com.cn“ />
3关键词
< meta name="keywords" content="星际2,星际老男孩,专访,F91,小色,JOY" >
4描述
例如:cnblogs
5 X-UA-Compatible
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

Title

网页头部信息

 
Link
css
     < link rel="stylesheet" type="text/css" href="css/common.css" >
icon  (title框里)
     < link rel="shortcut icon" href="image/favicon.ico">

Style

在页面中写样式

例如:
< style type="text/css" > 
.bb{ 
      background-color: red; 
   } 
< /style> 

 
Script
 
引进文件
     < script type="text/javascript" src="http://www.googletagservices.com/tag/js/gpt.js"> </script >
写js代码
     < script type="text/javascript" > ... </script >
     
 
 

HTML

     常用标签
     h,p,br: id
     a: id  href target
     div:id
 
大致分类:
块标签 (自己占一行)
内连(行内)标签 (内容有多少就占多少)
 
特殊符号有特殊代码展示
 
标签:
段落:
     <p></p>
换行:
     <br />
属性:
     <a href=“http://www.sohu.com"></a>
     <a hred=“http://www/sohu.com” target=“_blank”>跳转2</a>
     a锚
     <a href=“#i1”></a>
     (寻找页面中id=i1的标签,将其标签放置在页面顶部,id不允许重复)
标题:
     H1
     H2
               ….
     H6
 
<hr /> 生成横线
 
标签可以嵌套
 
<input />系列标签: 
text
password
radio
checkbox
file
button 按钮
submit     提交当前表单       value:显示的字
reset          重置表单
 
 
 
<select>
          -option  提交时候也用value,可以节省
          -optgroup
<textarea> -多行文本
 
<form>   action=“url” 要提交的内容放置在form标签中 上传文件注意加上:enctype=“multipart/form/data"
         
     <form action="https://www.sogou.com/web" method="get">
    <input type="text" name="query" />
    <input type="submit" value="提交"/>
          name相当于提交 key:value, name是key,输入是value
          提交checkbox,radio 等选择时要写 value, 默认会出现不可预知的错误
<label for=“”> 关联光标 id
 
 
ul<li>,ol<li>,dl<dt><dd>
 
 
Table:
colspan 合并单元
rowspan 合并单元
<table border="1">
    <thead>
        <tr>
            <th>第一列</th>
            <td>第二列</td>
 
        </tr>
    </thead>
    <tbody>
 
        <tr>
            <td>第一列</td>
              <td>第二列</td>
        </tr>

</tbody>

<table/>
 
fieldset
 
iframe
 
 
 

CSS

 
存在形式:
优先级:
标签属性  >html头部(<style>)>单独文件.css  (link引用)
 
选择器
     标签选择器
     div选择器
     id选择器
     class选择器
     层级选择器
     组合选择器
 
 
 
 
样式
 
<style>
    .c1{
        color: red;
        background-color: aqua;
        font-size:32px;
        height: 150px;
        width: 500px;
    }
    .img{
        background-image: url("4.gif");
        height:150px;
        width:500px;
        /*图片的凿洞才能看见*/
        background-repeat: no-repeat;
        background-position: 84px -58px;
    }

</style>

 
 
边框
 
border(-top/left/right bottom)  px solid/dotted/ color
 
展示 display
 
display:none  (隐藏标签)
display:block (内连变块级)
display:inline (块级变内连)
 
纯内连标签高度宽度不生效
 

cursor:
          pointer
          help
          wait
          crosshair
          move
 
 
边距:
     内边距 margin (本身不增加)
     外边距 padding (本身增加)
 
漂浮:
     float
 
position:
     relative  和absolute配合
     absolute --固定窗口,滚动移动,会寻找父级的absolute
     fixed  --固定 窗口
 
 

一、“JavaScript中无块级作用域”

在Java或C#中存在块级作用域,即:大括号也是一个作用域。

 Java
 C#

在JavaScript语言中无块级作用域

1
2
3
4
5
6
7
function Main(){
    if(1==1){
        var name = 'seven';
    }
    console.log(name);
}
// 输出: seven

补充:标题之所以添加双引号是因为JavaScript6中新引入了 let 关键字,用于指定变量属于块级作用域。

二、JavaScript采用函数作用域

在JavaScript中每个函数作为一个作用域,在外部无法访问内部作用域中的变量。

1
2
3
4
5
6
7
8
9
function Main(){
    var innerValue = 'seven';
}
 
Main();
 
console.log(innerValue);
 
// 报错:Uncaught ReferenceError: innerValue is not defined

三、JavaScript的作用域链

由于JavaScript中的每个函数作为一个作用域,如果出现函数嵌套函数,则就会出现作用域链。

1
2
3
4
5
6
7
8
9
10
11
xo = 'alex';
  
function Func(){
    var xo = "seven";
    function inner(){
        var xo = 'alvin';
        console.log(xo);
    }
    inner();
}
Func();

如上述代码则出现三个作用域组成的作用域链,如果出现作用域链后,那么寻找变量时候就会出现顺序,对于上述实例:

当执行console.log(xo)时,其寻找顺序为根据作用域链从内到外的优先级寻找,如果内层没有就逐步向上找,直到没找到抛出异常。

四、JavaScript的作用域链执行前已创建

JavaScript的作用域在被执行之前已经创建,日后再去执行时只需要按照作用域链去寻找即可。

示例一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
xo = 'alex';
 
function Func(){
    var xo = "seven";
    function inner(){
 
        console.log(xo);
    }
    return inner;
}
 
var ret = Func();
ret();
// 输出结果: seven

上述代码,在函数被调用之前作用域链已经存在:

  • 全局作用域 -> Func函数作用域 -> inner函数作用域

当执行【ret();】时,由于其代指的是inner函数,此函数的作用域链在执行之前已经被定义为:全局作用域 -> Func函数作用域 -> inner函数作用域,所以,在执行【ret();】时,会根据已经存在的作用域链去寻找变量。

示例二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
xo = 'alex';
 
function Func(){
    var xo = "eirc";
    function inner(){
 
        console.log(xo);
    }
    xo = 'seven';
    return inner;
}
 
var ret = Func();
ret();
// 输出结果: seven

上述代码和示例一的目的相同,也是强调在函数被调用之前作用域链已经存在:

  • 全局作用域 -> Func函数作用域 -> inner函数作用域

不同的时,在执行【var ret = Func();】时,Func作用域中的xo变量的值已经由 “eric” 被重置为 “seven”,所以之后再执行【ret();】时,就只能找到“seven”。

示例三:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
xo = 'alex';<br>
function Bar(){
    console.log(xo);
}
 
function Func(){
    var xo = "seven";
     
    return Bar;
}
 
var ret = Func();
ret();
// 输出结果: alex

上述代码,在函数被执行之前已经创建了两条作用域链:

  • 全局作用域 -> Bar函数作用域
  • 全局作用域 -> Func函数作用域

当执行【ret();】时,ret代指的Bar函数,而Bar函数的作用域链已经存在:全局作用域 -> Bar函数作用域,所以,执行时会根据已经存在的作用域链去寻找。

五、声明提前

在JavaScript中如果不创建变量,直接去使用,则报错:

1
2
console.log(xxoo);
// 报错:Uncaught ReferenceError: xxoo is not defined

JavaScript中如果创建值而不赋值,则该值为 undefined,如:

1
2
3
var xxoo;
console.log(xxoo);
// 输出:undefined

在函数内如果这么写:

1
2
3
4
5
6
7
function Foo(){
    console.log(xo);
    var xo = 'seven';
}
 
Foo();
// 输出:undefined

上述代码,不报错而是输出 undefined,其原因是:JavaScript的函数在被执行之前,会将其中的变量全部声明,而不赋值。所以,相当于上述实例中,函数在“预编译”时,已经执行了var xo;所以上述代码中输出的是undefined。

Python 一路走来 HTML CSS Javascript的更多相关文章

  1. Python一路走来 DAY15 Javascript

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一 如何编写     ...

  2. Python 一路走来 DOM & Jquery

    DOM           查找:                直接查找                间接查找                —getElementById             ...

  3. Python一路走来 RabbitMQ

    一:介绍:(induction) Rabbitmq 是一个消息中间件.他的思想就是:接收和发送消息.你可以把它想成一个邮政局.当你把你的邮件发送到邮箱的,首先你需要确认的是:邮政员先生能把你的邮件发送 ...

  4. Python一路走来 - python基础 数据类型

    对于Python,一切事物都是对象,对象基于类创建 Python数据类型 python主要的数据类型主要包括以下几种类型: (1) 数字型 (2) 字符串 (3) 列表 (4) 元组 (5) 字典 ( ...

  5. Python 一路走来 Django

    Web 框架 (本质:socket) Python web框架           自己实现socket                - Tornado           基于wsgi       ...

  6. Python一路走来 线程 进程

    Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env pytho ...

  7. Python一路走来 面向对象1

    面向对象: 类,对象 函数放在类里,叫方法 封装 #如何调用 1. 创建对象, 类名() obj= Foo() 2. 通过对象去执行方法 obj.mail("leon@me.com" ...

  8. Python一路走来 - 模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  9. Python一路走来 Python算法

    冒泡排序: 1,2位置左右比较.大的排右边,继续比较2,3 ...... list=[5,7,2,8,12,1] #print(len(list)) for j in range(len(list)) ...

随机推荐

  1. Ubuntu 下启动/停止/重启mysql服务

    1:sudo start mysql 2:sudo stop mysql 3:sudo restart mysql

  2. Android的理解

    从组件的角度来考虑 Activity------------------Service-----------------Broadcast Receiver---------------------- ...

  3. Altium Designer 6 快速进行差分对走线

    1: 在原理图中让一对网络前缀相同,后缀分别为_N 和_P,并且加上差分队对指示.在原理图中,让一对网络名称的前缀名相同,后缀分别为_N 和_P,左键点击Place DirectivesDiffere ...

  4. Altium Designer 蛇行等长布线

    一. 设置需要等长的网络组 点击主菜单 Design --> Classes,在弹出的窗口中单击 Net Classes,并右键,点 Add Class 会增加一个 New Class,在该网络 ...

  5. java调优随记-堆和栈

    基础知识: 关于堆和栈,堆和栈是程序运行的关键,关于堆和栈的定义和解释可自行搜索,我比较认可以程序运行过程中他们扮演的角色作为对比的点:堆是存储的单位,而栈是程序运行时的单位.栈解决的是程序的运行问题 ...

  6. android 利用反射机制获取drawable中所有的图片资源

    public List<Map<String,Object>> getGridData() { list=new ArrayList<Map<String,Obje ...

  7. 记npm包开发全过程

    概述 为什么开发npm包? 如何开发? 如何写单元测试? package.json 如何发布模块? 如何使用? 为什么开发npm模块? NPM的全称是Node Package Manager,是一个N ...

  8. 解决 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

    "Accept-Encoding": "gzip, deflate", 这条信息代表本地可以接收压缩格式的数据,而服务器在处理时就将大文件压缩再发回客户端,IE ...

  9. Wamp集成环境配置多站点

    一.打开apache配置文件httpd.conf 二.修改httpd.conf配置文件 1.在配置文件httpd.conf中搜索 conf/extra/httpd-vhosts.conf,然后将该行代 ...

  10. java 存储oracle的clob字段

    项目中有很长的字符创需要存储,用到了oracle的clob字段,直接很长的字符串插入到clob字段中会报字符过长的异常,于是便寻求解决方案.看到这个博客写的还不错 首先,创建一个含CLOB字段的表: ...