第二阶段复习

https://blog.csdn.net/u012932876?type=blog

HTML

–1,概述

全称是超文本标记语言
超文本:可以向网页中插入的元素类型丰富(图片,视频,音频,文字…)
标记: HTML提供了各种标记表示是不同类型的元素img video
语法: 由很多的标签组成的, 标签要一对的写要写开始标签和结束标签.

  • HTML超文本标记语言实现页面展现,形成静态网页

  • CSS层叠样式表实现页面美化

  • JS javascript脚本语言实现页面前端和后端的数据交互,形成动态网页

  • React facebook出品前端、移动端JavaScript框架

  • HTML属性

HTML标签都可以具有属性,属性包括属性名和属性值,如果有多个属性,要以空格隔开。属性的值要用单引号或者双引号引起来。

标签

1,标题标签 <h></h> 
2,列表标签 在网页中添加列表内容
<ul> <li></li></ul>无序列表
<ol> <li></li></ol>有序列表
3.图片标签:在网页中插入图片<img>
src是img标签的属性,用来指定图片的路径
width是img标签的属性,用来指定图片的宽度,单位是px像素
height是img标签的属性,用来指定图片的高度,单位是px像素
4.超链接标签:给元素添加链接效果 <a></a>
href属性用来指定跳转目标
target属性用来指定网页的打开方式.默认是_self用当前窗口打开,_blank用新窗口
锚定 :头部name="top"; herf指定
5.输入框标签
普通的输入框: <input type="text" />
			密码输入框: <input type="password" />
			数字输入框: <input type="number" />
			年月日输入框: <input type="date" />
			周输入框: <input type="week" />
            邮箱   <inout type="email">
按钮: 
				<input type="button" value="保存"/>
				<button>登录</button>
提交按钮:把前端页面输入的数据提交给后端java程序处理
				<input type="submit" value="注册"/>
				<button type="submit">提交</button>
			单选:<input type="radio" />男
			多选:<input type="checkbox"/>杨幂
			下拉框 <select><option></option></select>
            文本域          <textarea></textarea>

6表格标签 
table 表格 tr 行 td列
border属性用来设置表格的边框宽度,bordercolor边框的颜色
			width属性用来设置表格的宽度,bgcolor属性用来设置表格的背景色
			cellspacing属性用来设置表格里单元格的间距
			单元格的合并:行合并rowspan/列合并colspan
th 加粗
表单 <form></form>
<!-- 添加音频 -->
		<audio controls="controls"> 
			<source src="jay.mp3"></source>
		</audio>
		<!-- 添加视频 -->
		<video controls="controls">
			<source src="b.mp4"></source>
		</video>
<div></div>行标签 换行
<p></p>换行 ,行间隔一行
<span><span>不换行

    form标签专门用来提交数据:必须使用form标签 + 必须有submit按钮 + 必须配置name属性
        地址栏: http://127.0.0.1:8848/cgb2108/test3.html?user=jack
        ?用来拼接用户输入的数据,user=jack,其中user是给标签配置的name属性的值,jack是用户从浏览器上输入数据
       


        面试题:提价数据的两种方式: get方式 和  post方式


        get方式:被拼接在地址栏,方便看,坏处是不安全,长度受限--不推荐
        post方式:不方便看,好处是安全--推荐!!!
        method属性用来指定数据的提交方式,默认是get
        action属性用来指定数据将要交给哪个程序处理
二,CSS
–1,概述
全称是

层叠样式表 stylesheet ,作用是用来修饰HTML网页.
语法: 选择器{ 属性名:属性值 ; 属性名:属性值 ; 样式3…}
学习重点: 选择器 + 各种属性
位置:
1, 行内CSS:只作用在当前行, 给当前元素使用style属性来修饰样式
html <h1 style="text-align:center;">我是h1</h1>
2, 内部CSS: 在HTML代码里使用style标签,包裹着CSS代码.提高了CSS代码的复用性
3, 外部CSS: 把HTML代码和CSS代码分离,在HTML中引入CSS文件

<link rel="stylesheet" href="1.css"/>

<style>
选择器{样式}
</style>

 选择器样式

1.标签名选择器:根据标签的名字选中

2.class选择器:根据class属性的值选中元素,class的值能相同 步骤:给元素加class属性+通过.获取元素

3.id选择器:根据id属性的值选中元素,要求id的值不能相同 步骤:给元素添加id属性 + 通过#获取值

1.分组选择器:把多种选择器的结果,组成一组进行修饰,逗号隔开

2.属性选择器:按照标签的属性来选择元素,标签名[属性名]

盒子模型
–1,概述
CSS认为HTML里的每个元素都是一个盒子.
外边距margin: 盒子间的距离,可以设置左边距,右,上,下
边框border: 盒子的边框,可以设置宽度/颜色/样式
内边距padding: 盒子里的内容和盒子的边框的距离,可以设置左边距,右,上,下
内容: 可以设置 width 和 height
JS
–1,概述
全称是javascript,是java脚本语言.用来增强网页的交互性.
JS是基于对象和事件驱动的脚本语言
基于对象: js和java一样,可以创建对象并使用对象.
事件驱动: js代码必须想办法触发才会执行,常见事件: 单击/双击/鼠标划入划出…
脚本语言: js的运行必须在浏览器里
JS特点: 直译式,弱类型的语言. 跨平台(浏览器),一定的安全性
 

内部js

<script>
alert()
</script>
onclick 单击
ondbclick 双击

基本数据类型

包括:number/string/boolean/null/undefined

(1) 数值类型-number

在JS中,数值类型只有一种,就是浮点型。

在JS中,需要时会自动的进行数据类型的转换,比如:在显示和处理的时候,浮点型和整型会自动的转换。

Infinity : 正无穷大

-Infinity : 负无穷大

NaN : Not a Number 非数字, 和任何值都不相等,包括它本身

 (2) 字符串类型-string

var s ="hello " /'hello'

 (3) 布尔类型-boolean

(4) undefined

值只有一个就是undefined。表示变量没有初始化值。

JS的变量

js是弱类型语言,所有类型的变量都是用var关键字定义。并且参数的类型可以随时转换。

javascript没有类似采用静态语言类型,如java的变量类型是编译期就确定的;而它采用了动态类型,也就是说在编译期类型不确定,运行时会动态根据变量的赋值来决定它的类型,

typeof运算符: 用于返回变量或者表达式 的数据类型

js数组

1,var  a = new array();

2. var b = new array(1,2,3);

3,var c =[];

c=[1,2,3]

js数组注意的细节

1,可以存放任意的数据类型

2,长度可变,

js 函数创建方式

方式一:

声明:function 函数名称([参数列表]){ 函数体 }

调用: 函数名称([参数列表]);

方式二:

声明:var 函数名称 = function([参数列表]){ 函数体 }

调用: 函数名称([参数列表]);

js对象的创建

利用function关键字声明对象,用new关键字创建对象。

自定义对象
(1)方式一:

声明对象:function Person(){}
创建对象:var p1 = new Person();
设置属性:p1.name = "张飞"; p1.age = 18;
设置方法:p1.run = function(){ alert(this.name+" : "+this.age); }
访问p1对象:
p1.run();

方式二:

var p ={

"属性名": 属性,

“方法名”: function(){}

}

dom树

DOM 是一项 W3C (World Wide Web Consortium) 标准,DOM(Document Object Model)文档对象模型为JS操作html文档所提供的一套API,通过这套API可以很方便的对html元素进行访问及增删改查操作。

--获取对象: window.document
--调用方法: 
        getElementById("元素的id的属性的值")--返回1个元素
        getElementsByName("元素的name属性的值")--返回多个元素(用数组)
        getElementsByClassName("元素的class属性的值")--返回多个元素(用数组)
        getElementsByTagName("元素的标签名的值")--返回多个元素(用数组)
write()--向文档写 HTML 表达式 或 JavaScript 代码
title--返回网页的标题
id--设置或返回元素的id
innerHTML--设置或返回元素的内容

json--轻量级数据交换格式

json 数据

var a =' "name": "lihjua"'

json 对象

var b = '{}'

json 数组

var c ='[{},{}]'

json转换工具 

给服务器发送数据: 将JS对象转成JSON字符串     JSON.stringify(Js对象)
接受服务器的数据: JSON字符串转成JS对象        JSON.parse("json字符串")

ajax --异步更新网页

vue 的优点

1,一个轻量级的mvvm框架,双向绑定,数据动态更新

2.是一个渐进式框架,其核心思想是数据驱动、组件化的前端开发

3.屏蔽复杂的dom 的ipi

操作

1.引入vue.js文件,src指定js文件的位置(先找到和自己同级的资源)
<script src="vue/vue.js"></script>
<!-- 2.准备数据渲染区:是指在指定位置展示vue提供的数据
{{ }} 插值表达式,{{msg}}获取vue提供的msg的值
<div id="app"> {{msg}} </div>
<!-- 3.创建Vue对象,使用vue准备数据,让第二步获取数据 -->
<script>
            new Vue({
              el属性是:挂载点,即将把数据展示在指定位置(css选择器)
                el:"#app" , //id选择器,用#获取id的值
                //data属性是:用来准备数据
                data(){ //js对象
          return{ msg:'hello vue~~~'}   
                     }
            method:{
            //函数名:函数定义
               show:function(){ console.log("show()调用成功") } ,
}   })
        </script>

 vue指令

通过指令v-model,实现双向绑定,修改一方同时修改相同的另一方,达到数据同时更新

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js"></script>
		<style>
			[v-cloak]{
				display: none;
			}
		</style>
	</head>
	<body>
		<div id="app" v-cloak>
		…
		</div>
	</body>
</html>

 什么时候用 v-if ,什么时候用v-show?

v-show靠页面的样式进行控制,未显示但内容已在页面上,而v-if内容是不在的

v-if判断是否加载,可以减轻服务器的压力,但在需要时加载有更高的切换开销;v-show调整DOM元素的CSS的dispaly属性,可以使客户端操作更加流畅,但有更高的初始渲染开销。如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。
 v-if  判断是否在这里展现

<!-- 数组的遍历:类似于java里的foreach循环,o表示每次获取到的数据 -->
			<p v-for="o in hobby">{{o}}</p>
			<!-- o是数据,i是下标 -->
			<p v-for="o,i in hobby">下标是:{{i}}---数据是:{{o}}</p>
			<p v-for="(o,i) in hobby">下标是:{{i}}---数据是:{{o}}</p>

v-on 事件的点击

	<p>{{count}}</p>
			<button @click="count++">点我</button>
			
			<button onclick="show()">javascript 点我</button>
			<button v-on:click="show()">v-on:click 点我</button>
			<button @click="show()">简写的事件,点我</button>

绑定 v-bind

当属性的值是变量而不是字符串时,通过v-bind进行标识,vue会自动处理

  • 全称: v-bind:href
  • 简称: :href 冒号开头就说明后面跟的是变量
<div id="app">
			<a href="http://act.codeboy.com">java培优</a>
			<a v-bind:href="url" target="_blank">{{urlname}}</a>
			<a :href="url" target="_blank">{{urlname}}</a>

 VUE组件

全局组件语法: Vue.component(1,2)–1是标签名/组件名2是配置选项
局部组件语法:给Vue对象添加components属性

两种组件的区别??

全局组件:可以在所有的数据渲染区使用,而且是先定义再new Vue() 局部组件:是在Vue对象里使用components来定义的,只能在当前对象的数据渲染区来使用

	//1,创建全局组件
			//给vue添加组件(组件名称,组件的模板)
			Vue.component('car',{
				// 通过template,描述car组件的功能
				template:'<h3>hello Component</h3>'
			})

Axios技术

优点: 局部刷新,异步访问

axios.get(访问资源的url).then( a => { 处理a的方式,a代表了服务器给浏览器返回来的数据 }  )

四,Vue路由

–1,概述

接受浏览器的请求,根据不同的请求的方式,找到匹配的组件
工具类:
1,VueRouter表示Vue的路由对象.
2,routes属性是VueRouter的核心属性,用来把不同的请求匹配的不同的组件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试 vue路由</title>
		<!-- 1.引入js文件 -->
		<script src="vue/vue.js"></script>
		<script src="vue/vue-router.js"></script>
	</head>
	<body>
		<!-- 2.准备数据渲染区 -->
		<div id="app">
			<!-- 3.4.使用路由 ,router-link被HTML翻译成了a标签,to翻译成href属性-->
			<router-link to="/home">1</router-link>
			<router-link to="/help">2</router-link>
			<!-- 3.5.展示匹配成功的组件,路由的出口 -->
			<router-view></router-view>
		</div>
		<!-- 3.准备路由功能 -->
		<script>
			//3.3. 创建组件
			let home = {
				template:"<h1>我是主页~~</h1>"
			}
			let help = {
				template:"<h1>我是帮助页~~</h1>"
			}
			//3.2.创建路由对象VueRouter,通过routes属性指定请求和组件的匹配关系
			let router = new VueRouter({
				routes:[
					//path请求路径,component匹配到的组件
					{path:'/home',component:home},
					{path:'/help',component:help}
				]
			})			
			//3.1.通过router属性指定路由功能
			new Vue({
				el:"#app",
				//router:router
				router //key和value一样的话就可以直接简写
			})
		</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值