前端

101 阅读1分钟

1、变量和常量 变量:可以改变的 var 变量名=值;

常量:一旦创建就不可以修改 const 常量名=值;

2、数据类型: 1、原始/基础/值类型:5个 Number、String、Boolean、undefined、null

2、引用类型:11个 - Array

3、算术运算符:+ - * / %

4、数据类型的转换: 1、隐式转换: 算术运算符具有隐式转换,默认都转为数字再运算 特殊:1、+运算,碰上字符串,则为拼接 2、-*/%,字符串也会转为数字,必须是纯数字组成的字符,但凡包含了非数字字符则为NaN 3、true:1 false:0 undefined:NaN null:0 "500":500 "50dsa0":NaN 4、NaN:参与算术运算结果都为NaN,参与比较运算结果都为false,判断是不是NaN:!isNaN(x)

2、显示/强制转换
	1、xx.toString();//undefined和null不支持

	2parseInt(str/num)/parseFloat(str)/Number(x)

5、函数:提前预定义好,反复执行的代码 创建: function 函数名(形参,...){ 函数体 }

调用: 函数名();

elem.onclick=function(){
	函数名();
}

6、分支结构:if...

7、循环结构:反复执行的代码 - 几乎一瞬间执行完毕 var i=0; while(i<10){ 循环体; i++; }

for(var i=0;i<10;i++){
	循环体;
}

死循环:while(true){}
	for(;;){}

退出循环:break

8、数组:一个变量/内存空间保存住多个数据 创建:var arr=[1,2,3,4,5,...]

访问:arr[下标]
      倒数第n个:arr[arr.length-n]

添加/替换:arr[下标]=新值
      末尾添加:arr[arr.length]=新值

缩容:arr.length-=n;

遍历数组:对数组中的每个元素执行相同 或 相似的操作
  for(var i=0;i<arr.length;i++){
	arr[i];//当前次元素
  }

9、DOM:Document Object Model:文档对象模型:操作文档

概念:DOM把HTML看做了一个树状结构,树根是document对象(属性和方法),不需要创建,直接使用

1、获取元素: 标签/class名:var elems=document/已经找到的父元素.getElementsByTag/ClassName("标签/class名") 特殊:1、返回的是一个类数组集合,可用下标、length、遍历 - 不能直接做操作 2、没找到返回的空集合 3、不一定非要从树根进行查找

通过节点之间的关系:前提:至少要找到一个人
	父:xx.parentNode;
	子:xx.children; - 集合
	第一个儿子:xx.firstElementChild;
	最后一个儿子:xx.lastElementChild;
	前一个兄弟:xx.previousElementSibling;
	后一个兄弟:xx.nextElementSibling;

2、操作元素: 1、内容:innerHTML(双标签:识别标签)/innerText(双标签:纯文本)/value(input) 获取:elem.内容属性; 设置:elem.内容属性="新内容";

2、属性:
   获取:elem.getAttribute("属性名");			===	elem.属性名
   设置:elem.setAttribute("属性名","属性值");		===     elem.属性名="属性值"

3、样式:
   内联样式
   获取:elem.style.css属性名; - 只能获取到内联样式
   设置:elem.style.css属性名="css属性值"
   注意:css属性名有横线的地方都去掉横线,变为小驼峰命名法

3、绑定元素: 单个元素:xx.onclick=function(){ this->xx }

集合:
  for(var i=0;i<elems.length;i++){
	elems[i].onclick=function(){
		this->当前元素
	}
  }