1,JavaScript的使用方式:
内部方式:在head标签书写中<script>书写js代码.
外部方式:前端开发人员,将js代码放在xx.js文件中只需要在某个html页面引进js文件.比如:<script src="xx.js的路径"></script>
2,在js中的变量定义以及数据类型划分
1),js中定义变量使用var来定义,而且var可以省略不写,
2),js中定义变量使用var可以定义任何类型的变量,而且可以重复定义变量,后面的经前面覆盖掉.如: var a = 10 ;/var a = 30;
3),数据类型的划分:
无论是整数还是小数,都是number类型 ;无论是字符还是字符串都是string类型;未定义类型没有意义;object类型表示对象类型如:var 对象名 = new object(); 创建对象
3,js中的运算符 (js是弱类型语言,true代表一个整数值1,false代表一个整数0 )
1)算数运算符+,-,*,/,%,
2)比较运算符: <,<=,>,>=,!=,=
3)逻辑运算符:& 逻辑单与,有false,则false; | 逻辑单或,有true,则true; ! 逻辑非(非true,则false,非false,则true).
4)三元运算符(三目):首先判断表达式是否成立,如果成立,则执行true的结果,如果不成立,则执行false的结果;
4,js的流程控制语句
分为三大类:顺序结构语句: js代码从上而下加载,比较简单的一类;
选择结构语句:if语句 if(表达式){语句1} 执行流程:表达式是否成立,如果成立,才能执行语句1. 格式2:开发中使用最多(针对两种结果判断) if(表达式){语句1;}else{语句2;} 执行流程:1)先判断表达式是否成立成立,则执行语句1; 2)否则不成立,执行语句2.
格式3:针对多种结果判断的 if...else if...else
5,js中的switch语句
switch是个变量{ case 值1 : 语句1; break;结束, ......default:语句n; break ; } (js中的case语句后面既可以是常量,也可以是变量!java中的case语句后面只能是常量!)
执行流程:1)首先判断变量的值和值1是否匹配,如果匹配,执行语句1,switch语句结束!
2)如果不匹配,继续和case后面的值2进行比较,成立,则执行语句2,break结束.....
3)如果上面都不匹配,则执行语句n,语句结束
default语句可以在语句中的任何位置,但是如果在语句中,break最后别省略,否则如果case都不成立,执行default语句,会有case穿透现象!如果在语句的末尾,break可以省略.
6,js事件编程的三要素
1)事件源---指的就是html标签
2)编写事件监听器----就写一个函数 (js代码) function 函数名称(形式参数名1,形式参数名2......)
3)绑定事件监听器----就是在标签中有一些onxxx属性 和函数名称进行绑定
如:<script> function myClik(){alert("点击事件触发了...") ;}</script>
</head> <body> <input type="button" value="点我试试" οnclick="myClik()" /></body></html>
(input标签:事件源)
7,循环结构语句
核心思想:当针对重复数据操作,"循环思想"
for:开发中最常见的 for(初始化语句;条件表达式;控制体语句){循环体语句;}
执行流程:
1)首先初始化语句执行一次,给变量赋值
2)判断条件表达式是否成立,如果成立,就执行循环体语句
3)继续执行控制体语句(也称为"步长语句"),++或者-- 对变量自增或者自减1
4)继续判断条件表达式是否成立,如果成立,继续执行循环体语句,执行控制体语句,
5)直到条件表达式不成立,for循环结束!
如:for(var i =1 ; i <=5; i ++){ i=1,1<=5 ,第一次执行循环体;i++ 变成2...
document.write(i+"<br/>")} document.write("<hr/>") ;
while循环:不明确循环的次数,使用while. 初始化语句;while(条件表达式){循环体语句;控制体语句(步长语句) ;}
do-while:很少使用的在开发中(在java语言中,底层原码里面会出现do-while)
do-while和for以及while循环最大的区别:即使条件不成立,循环体至少执行一次!
8.js的内置对象
String对象常用的函数:fontcolor(颜色值):对字符串进行颜色标记;
charAt(index):获取指定索引(index)的字符,index是从0开始;
indexOf(子字符串):查看字符串中在大字符串中第一次出现的索引值
concat(字符串):拼接功能,将该字符串在大字符串中默认进行拼接追加
Date对象:描述当前系统时间,js日期对象
Array对象:数组对象;
创建Array对象三种方式:
var 数组对象名 = new Array() ;不指定长度
var 数组对象名 = new Array(size) ;指定数组长度
var 数组对象名 = new Array([元素1,元素2,...]) ; 它可以简化为var 数组对象名 = [元素1,元素2,...] ;
9,js中Date对象获取年,获取月,获取月中的日期中的方法列举出来
js中创建日期对象
var date = new Date() ;
获取年
var year = date.getFullYear() ;输出
获取月: 0-11之间的整数
var month = (date.getMonth()+1) ; 输出
获取月中的日期
var monthWithDate = date.getDate() ;
10,Js自定义对象的方式
方式1:function 对象名( 属性1,属性2,.....){给属性赋值,给对象添加功能
} 创建对象 var 对象名 = new 对象(实际参数1,实际参数2,实际参数3....)
方式2:定义对象的时候,function 对象(){ } 创建对象: var 对象名 = new 对象() ;
方式3:利用Js内置对象Object,代表所有对象的模板
11,什么DOM编程
1)通过特别的方式(js提供了方法了),获取标签对象
2)改变标签对象的一些属性!
a标签 href属性
img标签 src="链接图片"
input type="text" 文本输入框, 默认value属性="文本输入框输入的内容"
12,Js中的常用的事件有哪些
点击事件
单击点击:click------ 在标签中绑定的属性οnclick="函数()"
双击点击:dbclick----- 在标签中绑定的属性ondbclick="函数名称()"
焦点事件(应用最多:文本输入框/密码输入框...)
获取焦点:focus ----在标签中绑定的属性 οnfοcus="函数名称()"
失去焦点:blur---- 在标签中绑定的属性 οnblur="函数名称()"
选项卡发生变化的事件(下拉菜单中用的最多)
change事件 ---- 在标签中绑定的属性 οnchange="函数名称()"
省市联动 效果
function 函数名称(){}
13,Mysql的DDL语句
1)查看mysql数据库本身自带的所有数据库哪些 show databases ;
2)创建库 create database 库名; 也可以另一种语法创建库create database if not exists 库名;
3)查询创建的数据库的默认字符集 show create database 库名;
4)修改数据库的字符集(gbk; utf8 ) alter database 库名 DEFAULT CHARACTER SET 字符集;
5)删除库 drop database 库名; 直接删除库 ;drop database if exists 库名; 判断删除,如果存在库,删除
14.DDL语句(数据库的定义语句) 表的操作
int :整数,默认长度11
varchar(最大支持255字符):表示字符串类型数据
datetime:日期时间,可以指定日期时间
tempstamp:时间戳(系统当前即时时间)
double(几位数,小数点后保留的位数):小数类型
1),创建表
create table 表名(
字段名称1 字段类型1,
字段名称2 字段类型2,
字段名称n 字段类型 n);
2),查询表:查询库中的所有的表
show tables ;
3),查询表的结构
desc 表名;
4),修改表
修改表的字段名称 : 语法: alter table 表名 change 旧字段名称 新字段名称 以前的字段类型;
修改的表的字段类型:语法:alter table 表名 modify 字段名称 新的字段类型;
给表中新添加一列(一个新的字段名称):语法: alter table 表名 add 新字段名称 新字段类型;
将表中的某一列(某个字段)删除:语法:alter table 表名 drop 字段名称;
复制一张一模一样的表 :语法: create table 新的表名 like 旧表名;
删除表:语法: drop table 表名;(语法: drop table if exists 表名;)
15,DML语句,插入数据的语法
1),插入全表数据,一次插入一条
insert into 表名 values(值1,值2,值3....) ;
2),插入全表数据,一次插入多条
insert into 表名 values(值1,值2,值3....),(值1,值2,值3...),(值1,值2,值3...)
3),插入部分字段,在数据库中,未插入数据的字段默认值null(空值)
insert into 表名(字段名称1,字段名称2,,,部分字段) values(值1,值2,..部分字段值) ;
4),插入部分字段,也支持一次插入多条
insert into 表名(字段名称1,字段名称2,,,部分字段) values(值1,值2,..部分字段值),(值1,值2...部分字段值);
16,修改表中的某个记录的语法
修改表,修改单个字段
update 表名 set 字段名称 = 值 where 字段名称 = 值;
where的后面一般使用的都是非业务字段:id(每一张表都有id字段)
修改表,修改多个字段
update 表名 set 字段名称1 = 值1,字段名称2=值2,.... where 字段名称 = 值;
批量修改指定名称所有数据
update 表名 set 字段名称 = 值;
17,删除指定的记录以及删除全表
带条件删除指定的记录
delete from 表名 where 字段名称 = 值; 字段名称一般使用非业务字段id
删除全表数据
delete from 表名; 如果仅仅删除表中 的所有数据
18,delete from 表名和truncate table 表名 区别
delete from 表名:仅仅是删除全表数据而已,不会影响自增长主键id的值,当下次再次插入新的数据,id会在之前最后一次自增长值基础上继续自增
id(后期会设置自增长 主键) 完成了delete from 表名 ;
下次插入一条数据,id
truncate table 表名:删除表的所有记录同时删除表,而且自动创建一张一模一样的空表,直接就影响了自增长id的值
id(后期会设置自增长 主键) 完成了 truncate table 表名
下次插入数据 id
19,DQL:数据库的查询语句
1)查询全表 select * from 表名;
写法1:没有表的别名
SELECT id, NAME, age, sex, address, math, english FROM student3 ;
写法2:需要查询全表,需要写全部的字段名称,给表起别名(表的名称比较长) -- 同时给字段起别名用AS SELECT s.id AS '编号', -- 编号 s.name
AS '姓名', -- 姓名 s.age
AS '年龄', -- 年龄 s.sex AS '性别', -- 性别 s.address
AS '地址', -- 地址 s.math
AS '数学成绩', -- 数学 s.english
AS '英语成绩' -- 英语 FROM student3 AS s ; (as是可以省略的 )
2)查询的时候,可以将字段为整数类型进行求和(相加)
需求:查询员工的id,name,age,sex,以及数学和英语的总分
SELECT id '员工编号' , NAME '员工姓名', age '员工年龄', sex '员工性别', (math+english) '总分'
FROM student3 ;
3)带条件查询
情况1:select 指定的字段名称 from 表名 where 条件 ;
where 后面可以使用 赋值运算符=, 比较运算符<,<=,>,>=,!=(支持这个语法的) ;
where后面跟多个条件,并列条件或者或的条件, 可以使用 逻辑符号 &&(并列), mysql里面多个条件,并列关系,使用and关键字(推荐)
mysql语法支持 逻辑双或 ||(或),表示并集的关系; 当有多个或的关系的时候,可以使用in集合语句 4) 模糊查询(模糊搜索):关键字 like where 字段名称 in(值1,值2,值3) ;
select 指定字段列表 from 表名 where 字段名称 like '%字符%'
5)聚合函数查询:------ 单行单例的数据
select 聚合函数(字段名称) from 表名 ;
{count(字段名称):查询当前表的记录数;
sum(字段名称):求和,针对某列字段值进行求和(整数)
avg(字段名称):平均分函数
max(字段名称) :最大值函数
min(字段名称) :最小值函数}
6),复杂查询和聚合函数一块使用
where 字段名称 比较运算符 (select 聚合函数查询)
7)排序查询 关键字order by
select 字段列表 from 表名 order by 字段名称 排序规则
排序规则: asc :升序(默认值) desc :降序
8), 多个字段排序
select 字段列表 from 表名 order by 字段名称1 排序规则1 ,字段名称2 排序规则2 ;
9).分组查询 group by
select 字段列表(可以包含查询的分组字段) from 表名 group by 分组字段 注意事项: gruop by 它的后面不能使用聚合函数
10), having: 筛选查询
having的后面是可以使用聚合函数的,而且having必须置于group by 之后
注意事项:关于group by和having使用的先后顺序,而且有where条件 where在group by 之前,having在group by 之后,而且 group by不能使用聚合函数,having是可以使用聚合函数查询的!
11),分页查询 limit
select 字段列表 from 表名 limt 起始行数,每页显示的条数;
12),数据库的备份和还原
备份:将当前数据库进行本地存储,存储.sql文件
还原:就是将本地磁盘上.sql文件,进行执行,把这些库中表数据进行还原操作!
13),数据库的约束
约束:在操作数据库的时候,约束管理人员使用数据的时候行为;
默认约束 default :当某个字段没有插入值,默认约束就开始起作用了
当在给某个字段没有插入值的时候,这个默认约束就可以作用,给字段设置默认值