1.JaveScript介绍:
简称:是一个运行在浏览器端的解释型弱类型面向对象脚本语言
2. 如何使用”
1.在HTML页面上书写一个script标签,再在里面书写js代码
<script>
js代码
</script>
2.创建一个xx.js的文件,在咋子HTML进行引入
<script src="js路径">
js代码
</script>
3.变量
1.创建----var 变量名=值
2.需要连续创建多个变量可简写-----var 变量名=值,变量名=值.....
4.常量
1.创建-----const 常量名=值
2.分支结构
程序的流程控制语句
1.顺序结构:默认从上往下执行每一句话
2.分支结构:通过条件判断,选择部分代码执行
3.循环结构:通过条件判断,选择要不要重复执行模块代码
1.if else语句
1.一个条件,一个事,满足就做不满足就不做
if(条件){
操作
}
2. 一个条件,两件事,满足就做第一件事,不满足就做第二件事
if(条件){
操作
}else{
默认操作{
}
3.多个条件多个事,满足谁就做谁
if(条件1){
操作1
}else if(条件2){
操作2
}
2.switch case
switch(变量/表达式){
case值 1;
操作1;
case值 2;
操作2;
default;
默认操作;
3. 三目运算
条件?操作1:默认操作
条件1?操作1:条件2?操作2:条件3?操作3.....
3.循环结构
三种循环
1.while循环
语法:var 循环变量=几;
while(循环条件){
循环体
循环变量变化
}
特殊:while(ture){死循环}
何时使用死循环:不确定循环次数的时候
2.for 循环
语法: for(var 循环变量==几;循环条件;循环变量变化){
循环体
}
特殊:for(; ;){死循环}
3.do while循环
语法:var 循环变量=几
do{
循环体
循环变量变化
}while(循环条件)
4.函数
定义/创建/声明:
1.声明方式创建函数”
function 函数名(){
函数体/代码段
return 返回值/结构
}
注意:函数创建后不会立刻执行,需要调用
2.直接两方式创建函数
var函数名=function(形参列表){
操作
return 返回值/结果
}
调用函数:
var 接住返回的结构=函数值(实参列表)
作用域:
1.全局作用域:全局变量和全局函数,在页面的任何一个位置都可以使用
2.局部变量和局部函数,在当前的函数调用时,内部可用
5.DOM
文档对象模型:专门用于操作HTML文档的
Document Object Model
1.查找元素
1.通过ID查找元素
var xxx=doucment.getElementById("id名")
2.通过标签名查找元素
var elems=document/已经找到的父元素.getElementsByTagName("标签名");
3.通过class查找元素
var elems=document/已经找到的父元素.getElementsByClassName("class名");
4.*通过关系去获取元素:前提条件:必须先找到一个元素才可以使用关系
父元素:elem.parentNode; - 单个元素
子元素:elem.children; - 集合
第一个子元素:elem.firstElementChild; - 单个元素
最后一个子元素:elem.lastElementChild; - 单个元素
前一个兄弟:elem.previousElementSibling; - 单个元素
后一个兄弟:elem.nextElementSibling; - 单个元素
2操作元素
1.内容:
1、*elem.innerHTML - 获取和设置开始标签到结束标签之间的内容,支持识别标签的
获取:elem.innerHTML;
设置:elem.innerHTML="新内容";
2、elem.innerText - 获取和设置开始标签到结束标签之间的纯文本,不识别标签的
获取:elem.innerText;
设置:elem.innerText="新内容";
以上两个属性都是专门为双标签准备,而有一个单标签也是可以写内容,叫做<input />,我们如何获取?
3、input.value - 专门获取/设置input里的内容
获取:input.value;
设置:input.value="新内容";
2、属性:
获取属性值:elem.getAttribute("属性名");
设置属性值:elem.setAttribute("属性名","属性值");
简化版:
获取属性值:elem.属性名;
设置属性值:elem.属性名="属性值";
简化版的缺点:
1、class必须写为className - ES6(2015年)class变成了一个关键字
2、不能操作自定义属性
3、样式:
使用样式的方式:3种
1、*内联样式
2、内部样式表
3、外部样式表 - 一阶段做开发用的都是外部样式表
二阶段我们就要用js来操作【内联样式】
1、不会牵一发动全身
2、优先级最高
获取样式:elem.style.css属性名;
设置样式:elem.style.css属性名="css属性值";
4、绑定事件:
elem.on事件名=function(){
操作;
关键字this - 这个
如果单个元素绑定事件,this->这个元素
如果多个元素绑定事件,this->当前触发事件元素
}