js一周总结

94 阅读1分钟

js第一天

变量常量,用于保存数据。可以用于后面使用 var 变量顾名思义就是可以改变的常量 例如 var i=1, i=2; 数值就会改为2 cont(const) 而const在赋予数值后就不再改变了,类似于我们现实中的π是目前公认的固定数值

算数运算符:就是我们数学常见的加减法 + - * %(取余) 不同的是%的意思是n/x=y一般为我们设置的数值除以一个数剩余了几

数据类型的转换 隐式转换: 算数转换:默认转为数字,再进行运算

如果是字符串% - *会把字符串转为数字再运算, 如果是+那么会把内容拼接在一起

强制转换:

  1. parseInt Float(str/num) Number(x) 同隐式转换的效果一样,你啥好用的

函数 创建好可以反复使用 创建 function 函数名(形参...){函数体}

调用 函数(实参...) elem.onclick=function(){函数名(实参)}

<elem onclick="函数名(实参...)"> </elem>

分支结构如果否则 if() if(){}else{} if(){}else if(){}else{}

循环:反复的执行,一次次的执行的,速度很快如果比较短看不见的

普通循环 这个普通循环一般不用for简单点 var i=0 while(i<0...){循环体,i++;}

普通的循环平常用这个for(var i=0;i<10;i++){循环体}

死循环:会无限循环需要使用break停止循环

while(ture/1){}死循环一般使用这个

for(;;){}死循环一般不用这个如果用()必须有两个分号

数组:一个内存空间保存多个数据 创建:var arr[元素..]

访问方式 arr【】 追加:arr【】=新元素; arr.length-=n;

length的使用小技巧

arr【arr.length-n】 arr【arr.length】=新元素; arr.length=n;

遍历数组:可以将数组中的所有数组给取出来执行相同 或 想似的操作 () 通常搭配上循环来使用 for(var i=0;i<数组.length;i++){数组【】}

DOM:Document Object Model - 专门操作网页文档

DOM树:把HTML看做了一个倒挂的树状结构,每一个元素、文本、属性、注释等等都会被视为一个DOM节点/元素/对象

树根:document对象(属性和方法),不需要我们自己创建,浏览器的js解释器负责创建,一个页面仅有一个

获取元素: 通过 HTML 特性: id:var elem=document.getElementById("id值"); 没找到返回是一个null class/标签名:var elems=document/parent.getElementsByClassName("class"); var elems=document/parent.getElementsByTagName("class"); 没找到返回是一个空集合【】

  • 强调:1、集合不能直接用于操作 - 要么加下标获取某个,要么循环遍历获取所有 2、parent - 你已经提前找到的某个父亲*

通过 关系 : 父:xx.parentNode - 单个元素 子:xx.children - 集合 第一个儿子:xx.firstElementChild; - 单个元素 最后一个儿子:xx.lastElementChild; - 单个元素 前一个兄弟:xx.previousElementSibling; - 单个元素 后一个兄弟:xx.nextElementSibling; - 单个元素

操作元素: 内容:innerHTML(能够识别标签)/innerText(只能识别纯文本) - 获取和设置双标签的内容 * value - 获取和设置input的内容的

  • 属性: getAttribute("属性名")/setAttribute("属性名","属性值") - 复杂,但是无敌

  •     简化版:elem.属性名;
            elem.属性名="属性值";
        注意:1class需要写为className
          2、自定义属性不能操作,只能操作标属性*
    
  • 样式:操作内联样式 elem.style.css属性名; elem.style.css属性名="css属性值";

  •     css属性名的写法,在js里需要换做驼峰命名法:
      	border-top-width		borderTopWidth
    

绑定事件的新方式: xx.onclick=function(){ this->xx; } * for(var i=0;i<arr.length;i++){ arr[i].onclick=function(){ this->当前触发的元素 } }