python全栈开发day43-javascript
一、昨日内容回顾
1.绝对定位的盒子居中
left:50%;
margin-left:负的盒子宽度的一半
2.固定位置
脱离标准文档流
作用:返回顶部,广告,滚动监听栏、固定导航栏(body{margin-top:100px或padding-top:100px;})。
二、今日内容总结
1.javascript的介绍和作用
DOM:Document Object Model
BOM:Browe Object Modle
2. js三大部分
1)、ECMAScript基础语法
javascript语法标准。包括变量、表达式、运算符、函数、if语句、for语句等
(1) 初识js
<script type="text/javascript"> <script>
alert('xxx')
console.log('xxx')# 控制台输出
console.dir("xxx")
var a = prompt('xxx')
单行注释// 多行注释/* */
语法规则:JavaScript对换行、缩进、空格不敏感,语句末尾加分号,单行注释// 多行注释/* */
(2)直接量:数字99和字符串“99”
(3) 变量:定义 赋值 命名规范
a.变量的定义提升
b.x = a++ 和 x= ++a 的区别
(4) 变量的类型(typeof 变量)
number
string
undfined # 布尔值为false
null # 布尔值为false
NaN number # 布尔值为false
infinity 无限大 # 布尔值为true
连字符和加号
(5)变量的转换
parseInt()
(1)带有自动净化的功能;只保留字符串最开头的数字,后面的中文自动消失。例如:
(2)自动带有截断小数的功能:取整,不四舍五入。
parseFloat()
parseString()
(2) 基础数据类型
# number
# string
# boolean
# null
# undefined
引用数据类型:
- Function
- Object
- Arrray
- String
- Date
(3)运算符
# 赋值运算符: = 、+=、-=、%=、*=、/=
# 算数运算符: +、-、*、/、%、++、--
# 比较运算符:==、===、!==、!===、>、<、>=、<=
特殊情况:字符串拼接和es6模板字符串(·hh·)
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
//方法一:
var firstName = '小';
var lastName = '马哥';
var name = '伊拉克';
var am = '美军';
// 字符串拼接
var str = "2003年3月20日,"+name+"战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,"+am+"又一次取得的大规模压倒性军事胜利。"
var fullStr = str;
console.log(fullStr) var fullName = firstName +" "+ lastName;
console.log(fullName)
// 方法二:
var str = `2003年3月20日 ${name}战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,${am}又一次取得的大规模压倒性军事胜利。`
console.log(str)
</script> </body>
</html>
··
(4) 数据类型转换
# 数字转字符串
a. 隐式转换 1+‘2’ 输出‘12‘
b.强制转换 string() 、 tostring()
# 字符串转数字
parseInt()、parseFloat()
# 任何数据类型转成boolean()
( 5 ) 流程控制
# if(){} else{}
# if() {} else if() {} else{}
# while(){}
# do{} while()
# for(var i=0,i<10,i++){}
# switch(变量) {
case ‘1’:
XXXX
break # 如果没有break 它就会一直执行,直至遇到下一个break 这个叫case穿透。
case ‘2’:
XXXX
break
。。。。
default:
console.log('很遗憾')
}
(6) 常用内置对象
# 数组Array
# 字符串String
# Date
# math对象
http://www.cnblogs.com/majj/p/9095590.html
(7) 函数
# 定义:
function 函数名(参数){}
# 函数的调用:
函数名()
# 函数的返回值
(8)为数组arguments
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript"> function add(a,b,c){
console.log(add.length) //形参个数
console.log(arguments.length) //实参个数
console.log(arguments) //实参
return a+b+c
}
add(1,2)
var z = add(1,2,3)
console.log(z)
</script>
</body>
</html>
伪数组
之所以说arguments是伪数组,是因为:arguments可以修改元素,但不能改变数组的长短。举例:
清空数组的三种方式:
var a1 = [1,2,3,4]
// a1.splice(0)
// a1 = []
a1.length=0
console.log(a1)
2)、DOM
操作网页上元素的API。比如盒子移动、变色、轮播图等
1.事件源、事件、事件驱动程序
2.获取文档元素节点、属性节点、文本节点
# 获取文档元素节点、增加、删除等
document //文档
document.documentElement //html
document.body//body
var oBtn = document.getElementById('')
var oBtn = document.getElementsByTagName('')
var oBtn = document.getElementsByClassName('')
# 获取文档属性节点
oBtn.src oBtn.classname
oBtn["src"]
<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /*Safari and Chrome*/
} @keyframes mymove
{
from {left:0px;}
to {left:200px;}
} @-webkit-keyframes mymove /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}
</style>
</head>
<body> <p><strong>注释:</strong>Internet Explorer 9 以及更早的版本不支持 animation 属性。</p> <div></div> </body>
</html>
移动效果关联
3)、BOM
操作浏览器部分功能的API。比如让浏览器自动滚动。
三、扩展和预习
1 transition:属性 过渡时间 过渡函数效果 延迟时间
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.box1{
visibility: hidden;
width: 200px;
height: 200px;
background-color: #333;
transition: all 2s ease-in 0.2s;
}
.box2{
position: absolute;
width: 200px;
height: 200px;
background-color: red;
}
.box2:hover .box1{
visibility: visible;
width: 300px; }
</style>
</head>
<body> <div class="box2"><div class="box1"></div></div> </body>
</html>
矩形框变大的过程
2. transform # div旋转
<!DOCTYPE html>
<html>
<head>
<style>
.box1
{
margin:30px;
width:200px;
height:100px;
background-color:yellow;
/* Rotate div */
transform:rotate(20deg);
-ms-transform:rotate(9deg); /* Internet Explorer */
-moz-transform:rotate(9deg); /* Firefox */
-webkit-transform:rotate(30deg); /* Safari 和 Chrome */
-o-transform:rotate(9deg); /* Opera */
}
</style>
</head>
<body> <div class="box1">Hello World</div>
<div style="height: 300px;background-color: red;"> </div> </body>
</html>
div旋转实例
3.animation # 移动效果关联
<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /*Safari and Chrome*/
} @keyframes mymove
{
from {left:0px;}
to {left:200px;}
} @-webkit-keyframes mymove /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}
</style>
</head>
<body> <p><strong>注释:</strong>Internet Explorer 9 以及更早的版本不支持 animation 属性。</p> <div></div> </body>
</html>
移动效果关联
python全栈开发day43-javascript的更多相关文章
- Python全栈开发:Javascript
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...
- python全栈开发目录
python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...
- Python 全栈开发【第0篇】:目录
Python 全栈开发[第0篇]:目录 第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基 ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python全栈开发【基础一】
Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...
随机推荐
- 【洛谷P1896【SCOI2005】】互不侵犯King
题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入输出格式 输入格式: 只有一行,包 ...
- Pytorch中的squeeze()和unsqueeze()函数
在numpy库中,经常会出现“秩为1的一维数组”(come from 吴恩达的深度学习,目前还没有搞清楚numpy中如此设计的意图).比如: 注意这里的a的shape是[3] ,既不是 [1,3] 也 ...
- B. Light It Up
题目链接:http://codeforces.com/problemset/problem/1000/B 代码: #include<iostream> #include<cstrin ...
- SpringBoot扩展SpringMVC自动配置
SpringBoot中自动配置了 ViewResolver(视图解析器) ContentNegotiatingViewResolver(组合所有的视图解析器) 自动配置了静态资源文件夹.静态首页.fa ...
- 【CTF WEB】ISCC 2016 web 2题记录
偶然看到的比赛,我等渣渣跟风做两题,剩下的题目工作太忙没有时间继续做. 第1题 sql注入: 题目知识 考察sql注入知识,题目地址:http://101.200.145.44/web1//ind ...
- KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结
转:http://blog.163.com/czblaze_3333/blog/static/208996228201272295236713/ Kermit协议 报文格式: 1. MAR ...
- Linux内存管理5---物理内存管理
1.前言 本文所述关于内存管理的系列文章主要是对陈莉君老师所讲述的内存管理知识讲座的整理. 本讲座主要分三个主题展开对内存管理进行讲解:内存管理的硬件基础.虚拟地址空间的管理.物理地址空间的管理. 本 ...
- UML和模式应用5:细化阶段(4)--如何创建领域模型
1.前言 以当前迭代中所要设计的需求为界,创建领域模型的步骤: 1.寻找概念类 2.将其绘制为UML类图中的类 3.添加关联和属性 2.如何寻找概念类 寻找概念类有如下几种方法: 重用和修改现有的模型 ...
- mysqlbinlog恢复数据注意事项【转】
mysqlbinlog 恢复数据注意事项 前言: 上次有个有个朋友恢复 MySQL 数据,一直恢复不成功,也没有报错信息,使用的环境是 MySQL 5.7 使用了 GTID 以及 binlog 格式为 ...
- centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置详解
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...