笔记

92 阅读4分钟

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-当前元素:当前触发事件的元素