JS第一周小结

162 阅读1分钟

一、变量和常量

1.变量:var 变量名= ; 2.常量:const 常量名= ; 一旦创建,不允许被修改

二、运算符

1.算数运算符:+-*/% %表示取余,常用于判断奇数偶数 2.比较运算符:> < >= <= == != 3.逻辑运算符:&& || !

三、数据类型转换

1.隐式转换:算数类型具有隐式转换,默认字符串会转为数字后运算 1.1 +运算碰到字符串会变为拼接,而不是计算 1.2 -*/% 遇到纯数字组成的字符串,会自动转为数字后运算,如果包含非数字,则为NaN; 1.3 false转为0 ;true转为1;undefined转为NaN; null转为0; 1.4 NaN是数字类型: 1、参与任何算术运算,结果都为NaN 2、参与任何比较运算,结果都为false 解决:!isNaN(x)
2.显式转换: 1.1转字符串:var str=x.toString(); 1.2转数字:var num=parseInt(str) 从左向右依次读取每个字符,碰到非数字字符则停止,不 能识别小数点; var num=parseFloat(str) 从左向右依次读取每个字符,碰到非数字字符则停止, Float认识第一个小数点,如果一来就不认识,则为NaN

四、函数

1.创建: function 函数名(形参,...){ 函数体; }

2.调用:写在JS里面:函数名(实参,...);

五、分支结构

  1. if(条件){ 操作 }
  2. if(条件){ 操作1 } else{ 操作2 }
  3. if(条件1){ 操作1 } else if(条件2){ 操作2} ...... else{ 操作

六、循环结构

whlie/for循环 死循环:while(true){}、for(;;){} break:退出循环

七、数组

1.创建数组:var arr=[0,1,2,3,4......]; var arr=new Array(0,1,2,3...); 2.使用: 访问:arr[i]; 新增:arr[i]=num; 3.数组的属性: 缩容:arr.length-=n; 向末尾添加元素:arr[arr.length]=新值; 获取倒数第n个元素:arr[arr.length-n]; 4.遍历数组: for(var i=0;i<arr.length;i++){ 操作 }

八、DOM

树根是document,不需要我们程序员创建,直接可用,一个页面只有一个document 1.查找元素 1.1通过HTML的特点 ID:var elem=document.getElementById("id值"); - 单个元素,没找到为null 标签/class名:var elems=document/parent.getElementsByTag/ClassName("标签/class名"); - 集合,没找到为空集合 1.2通过节点之间的关系: 找父亲:elem.parentNode; 找孩子:elem.children; - 集合,没找到为空集合 第一个元素儿子:elem.firstElementChild; 最后一个元素儿子:elem.lastElementChild; 前一个元素兄弟:elem.previousElementSibling; 后一个元素兄弟:elem.nextElementSibling; 2.操作元素: 2.1内容:innerHTML/innerText/value(转为input准备的) 获取:elem.xxxx 设置:elem.xxxx="新内容"

2.2属性: 获取:elem.getAttribute("属性名") 简化:elem.属性名 设置:elem.setAttribute("属性名","属性值") 简化:elem.属性名="属性值" 简化版有两个小缺陷:自定义属性不能操作;class必须写为className 2.3样式:JS就要操作【内联样式】 获取:elem.style.css属性名; 设置:elem.style.css属性名="css属性值"; 特殊:css属性名有横线的地方要去掉横线变为小驼峰命名法 3.绑定事件: 3.1单个元素:elem.onclick=function(){ //关键字this的指向->这个元素 } 3.2多个元素:for(var i=0;i<elems.length;i++){ elems[i].onclick=function(){ //关键字this的指定->当前元素:当前你触发事件的元素 数组必须要加下标,只能对数组中的单个元素进行操作,不能 对数组进行操作;现在学的this必须用在事件当中; } }