美文网首页
前端基本功--js实战4 10.31

前端基本功--js实战4 10.31

作者: 多佳小昕 | 来源:发表于2017-11-05 14:29 被阅读0次

一、三种循环

  1. for(初始化; 条件; 增量){}
  2. while(条件) { 语句 } 可能会不执行
  3. do {} while() 至少执行一次
    二、多分支语句
    switch(参数)
    {
    case 参数1:
    语句;
    break; 退出的意思
    case 参数2:
    语句;
    break; 退出的意思
    ........
    default: 默认的
    语句;
    }
    效率比if else 更高
    三、onchange事件
    拉菜单的事件 onchange
    sele.onchange = function(){}
    当下拉内容改变的时候 事件发生
    四、数组

1.添加数组
用法例如 arr.push(1)
(1) push()
push() 方法可向数组的末尾添加一个或多个元素,返回新的长度。 push 推进去

var dom = [1,3,5];
console.log(dom.push(7));  // 返回的是 数组的长度  4

(2) unshift() 可向数组的开头添加一个或更多元素,并返回新的长度。

2.删除数组
(1) pop() 删除最后一个元素 返回值 是 返回最后一个值
(2) shift() 用于把数组的第一个元素从其中删除,并返回第一个元素的值

3.连接两个数组
contact () arr1.contact(arr2)

4.join() 把数组转换为字符串
作用是将数组各个元素是通过指定的分隔符进行连接成为一个字符串。
数组本身是不会改变的。
arr.join(符号);

var arr = [1,2,3];
console.log(arr.join(“-”))    结果就是:  1-2-3    //字符串

5.把字符串转换为数组 split()

stringObject.split(separator,howmany)
参数 separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
howmany 可选。该参数可指定返回的数组的最大长度

例:

var txt ="aa-bb-cc";
console.log(txt.split("-")) ;  
// 结果是  ["aa","bb","cc"]
// 两处的符号要保持一致 

五、DOM
1.我们js 有三部分组成的?

核心(ECMAScript)欧洲计算机制造商协会
描述了JS的语法和基本对象。 var aa var AA 不一样

文档对象模型(DOM) 学习的重点
处理网页内容的方法和接口

浏览器对象模型(BOM) 了解一下
与浏览器交互的方法和接口
window.alert() 有很大的的兼容问题

  1. DOM
    (1)定义:为文档提供结构化显示,定义了如何通过脚本访问文档结构,为了让js操作html而定义的规范。
    通过dom来访问的页面中的每一个标签,每个标签都是一个dom对象。
    (2)节点
    标签标记元素 都是节点
    由结构图中我们可以看到,整个文档就是一个文档节点。
    每一个HMTL标签都是一个元素节点。
    标签中的文字则是文字节点。
    标签的属性是属性节点。
    一切都是节点……
    (3)访问节点
    getElementById() id 访问节点
    getElementsByTagName() 标签访问节点
    getElementsByClassName() 类名 (有兼容性问题,主流浏览器支持 ie 67 8 不认识 解决:自己封装自己的类 。)
    3.封装class类
    取出所有盒子进行遍历,通过每个盒子的classname判断。
<script>
    window.onload = function(){
       //封装自己class类名
        function getClass(classname){
            //如果浏览器支持,则直接返回
            if(document.getElementsByClassName)
            {
                return document.getElementsByClassName(classname);
            }
            // 不支持的 浏览器
            var arr = []; // 用于存放满足的数组
            var dom = document.getElementsByTagName("*");
            //alert(dom.length);
            for(var i=0;i<dom.length;i++)
            {
                if(dom[i].className == classname)
                {
                    arr.push(dom[i]);
                }
            }
            return arr;
        }
        console.log(getClass("demo").length);
    }
</script>

分割:

4.判断真假
数字类型 所有数字都是真,0是假
字符串 所有字符串都是真,’ ’串是假
对象 所有对象都是真,null是假
未定义 undefined是假,没有真

六、访问关系
1.

图片1.png
父节点:parentNode 亲的 一层
<script>
    window.onload = function(){
        var x = document.getElementById("x");
        x.onclick = function(){
            this.parentNode.style.display = "none";
            // 关掉的是他的 父亲
        }
    }
</script>

2.兄弟节点
nextSibiling 亲的 下一个兄弟 ie678认识。
nextElementSibling 其他浏览器认识。
previousSibling 亲的 上一个兄弟
previousElementSibling
可以合着写 用 || 必须先写正常浏览器 后写 ie678 。
3.子节点
基本上不用,容易出问题,因为空格也会被当作孩子。
firstChild 第一个孩子 ie678。
firstElementChild 第一个孩子 正常浏览器 。
lastChild
lastElementChild
4.孩子节点
childNodes:选出全部孩子
它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点 (嫡出)火狐 谷歌等高本版会把换行也看做是子节点。
利用 nodeType == 1 来获取元素节点!!

   nodeType == 1    元素节点     
   nodeType == 2    属性节点
   nodeType == 3    文本节点 

children :(庶出)常用, 选取所有孩子,只包含元素节点!
在ie678里注释也是节点。
七、dom里的节点操作
1.新建节点

var demo = document.getElementById("demo");
var a = document.createElement("li"); //生成一个新的li标签

2.插入节点
(1) appendChild(); 意思: 添加孩子 放到盒子的最后面。

demo.appendChild("a"); //在demo后添加了一个li标签  

(2) insertBefore (插入的节点,参照节点)

demo.insertBefore(test,childrens[0]);
//放到第一个孩子的前面,在第一个孩子前面插入一个节点test
demo.insertBefore(test,null);//如果第二个参数为null  则默认这新生成的盒子放到最后面。

3.删除节点
removeChild() 孩子节点

var da = document.getElementById("xiongda");
demo.removeChild(da);

4.克隆节点
cloneNode();括号里放参数。
如果是true,深层复制:复制盒子和子节点。
如果是false只复制本节点。

var last = chidrens[0].cloneChild(true);
demo.appendChild(last);

相关文章

  • 前端基本功--js实战4 10.31

    一、三种循环 for(初始化; 条件; 增量){} while(条件) { 语句 } 可能会不执行 do {} ...

  • js基本功01

    前端基本功—js 第1天 [if !supportLists]1.1[endif]课程介绍 前6天js的基础语法(...

  • 前端基本功--js实战7 11.09

    一、根据字符返回位置 跟charAt() 相反根据位置返回字符indexOf(“字符”);找不到返回-1,索引号从...

  • 前端基本功--js实战5 11.05

    一、1.获取节点属性getAttribute(属性) 获取属性alert(demo.getAttribu...

  • 前端基本功--js实战6 11.07

    一、时钟 1.第一步:得到现在的时分秒第二步:秒针一次走6度、分针一次走6度、时针一次走30度。 二、短信验证 1...

  • 前端基本功--js实战2 10.12

    一、函数声明函数: 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。1.自定义函数 需要调用 func...

  • 前端基本功--js实战1 9.24

    一、js作用1.网页特效2.网页交互3.表单验证总之就是控制结构和样式。二、js基本语句都是属于内置对象,内置对象...

  • 前端基本功--js实战3 10.24

    一、仿淘宝搜索框 label for "id"Paste_Image.pngps:忘记了子绝父相要设置位置2.判断...

  • 4.7 DAPP实战,合约与前端交互

    4.7 DAPP实战,合约与前端交互 合约与前端交互需要用到web3.js和truffle-contract,we...

  • Js」如何使用前端Js框架

    这次给大家带来如何使用前端Js框架,使用前端Js框架的注意事项有哪些,下面就是实战案例,一起来看一下。 概述: 技...

网友评论

      本文标题:前端基本功--js实战4 10.31

      本文链接:https://www.haomeiwen.com/subject/tbcipxtx.html