1.输出方式:打桩输出:
在控制台输出:console.log();
在页面上输出:document.write(); 如果有绑定事件写在里面,会把原来的HTML页面覆盖掉。
在警告上输出:alert(); 会卡主页面
2.常量和变量:
常量:const 常量名=值; (不可第二次赋值)
变量:var 变量名=值;
3.算数运算符:
+ - * / %
其中%叫摸,作用取余,可判断奇偶性
4.数据类型转换:
隐式转换:
算数运算符具有隐式转换: 默认转为数字在计算
特殊:+号运算碰上字符串,则变为拼接
其余算数运算符也能转为数字,并且必须为纯数字,只要包含了一个非数字字符,结果则为NaN
强制转换:
转字符串: xx.tostring(); 页面上的一切数据都是字符串,所以此方法很少用
转为数字:parseInt(str);取整,不认识小数点,从左往右一次读取每个字符,如果碰到非数字字符就停止,可以去掉
单位
parseFloat();取小数,认识第一个小数点,从左往右一次读取每个字符,如果碰到非数字字符就停止,可以
去掉单位
Number(); 隐式转换的默认效果
5.Function:
需要提前创建好的,可以反复使用的代码段
自己设置调用几次,或者用触发事件让用户自己触发几次
何时使用: 打开网页时不立即执行
需要反复执行时
独立的功能体
如何使用:
创建函数:function 函数名(形参,.....){
函数体;
}
调用函数:函数名(实参,....); 形参有多少个,实参有多少个就能一一对应
形参和实参根据需求添加
6.分支结构:
比较运算符:>大于 <小于 ==等于 >=大于等于 <=小于等于 !=不等于
逻辑运算符: &&并且 全部满足才满足,一个不满足就不满足
||或 一个满足就满足,全部不满足才不满足
!颠倒布尔值
逻辑运算符计算结果都为布尔值
7循环:
反复执行相同或者相似的代码
var 变量=几;
while(条件){ //死循环:while(ture){
操作;
变量变化;
}
for(var 变量=几; 条件;变量变化){ //死循环: for(;;){
操作;
}
退出循环:break; (只能在循环中使用)
8.数组:一个内存空间可以保存多个数据
创建数组:
var arr[ ];
var arr=new Array();
访问:
arr[i]; i代表下标几 如下标越界则为undefined
添加:
arr[i]=新值;下标越界 数组变为稀疏数组,下标不连续,遍历的时候有很多undefined
获取数组的长度:arr.length;
末尾添加:arr[arr.length]=新值;
获取末尾第n个元素:arr[arr.lenth-n];
缩容:arr.length-=n;
数组三大不限制:类型、长度、下标越界。 下标越界是缺点
遍历数组:
for(var i=0;i<length;i++){
arr[i];
}
DOM:Document Object Model -文档对象模型,专门用于操作文档-HTML
DOM树: 树根是:document对象,不需要自己创建 DOM将每一个【元素】、文本、属性、注释,都看做一个DOM节点/元素/对象
查找元素:
1通过HTML特性查找
ID:单个元素-没找到返回null
var elems=document.getElementsByIdName("ID名");
标签名:var elems=document/parent.getElementsByTagName("标签名");
class名:var elems=document/parent.getElementsByClassName("class名");
2通过关系查找:至少找到一个人,才能使用关系查找
找到父元素:elem.parentNode;
找到子元素:elem.children; -找到的子元素是集合
找到第一个子元素:elem.firstElementChild;
找到最后一个子元素:elem.lastElementChild;
找到前一个兄弟元素:elem.previoousElementSibling;
找到后一个兄弟元素:elem.nextElementSibling;
操作元素:
1.内容:innerHTML(能识别标签)
innerText(纯文本、不识别标签)
value(专门为input准备的)
获取内容:elem.标签名
设置内容:elem.标签名=“新内容”
2.属性:
获取属性值:elem.getAttribute("属性名") ; 简写 elem.属性名;
设置属性值:elem.setAttribute("属性名","属性值") 简写 elem.属性名="属性值"
简写的缺陷:class必须写为className
自定义属性不能操作
3.样式:操作内联样式
获取样式: elem.style.css属性名
设置样式: elem.style.css属性名="css属性值";
特殊: css属性名有横线的要去掉横线变成小驼峰命名法 例:borderBox
只能访问内联
绑定点击事件:
单个元素绑定: elem.onclick=function(){}
多个元素绑定: for(var i=0;i<elem.length;i++){
elem[i].onclick=function(){}
}
this关键字:目前只能在事件中使用
单个元素绑定事件this-这个元素:绑定事件的这个元素
多个元素绑定事件this-当前元素:当前触发事件的元素