为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
JavaScript进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript进阶篇

慕课官方号 页面重构设计
难度入门
时长 8小时55分
  • 变量也可以不声明,直接使用,但是为了规范,需要先声明变量,然后再使用。

    查看全部
  • screen对象属性:



    5354d2810001a47706210213.jpg

    查看全部
    0 采集 收起 来源:screen对象

    2018-04-11

  • 535a3a4a0001e03f06870189.jpg

    查看全部
    0 采集 收起 来源:userAgent

    2018-04-11

  • 保留字: 系统留用(可能永远也不会用, 但是你不能用)。

    关键字: 系统规定有特殊意义的词。


    关键字, 一定是保留字。

    保留字一般是等同于关键字的。


    从字面含义上理解,保留字是语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。而关键字则指在语言中有特定含义,成为语法中一部分的那些字。在一些语言中,一些保留字可能并没有应用于当前的语法中,这就成了保留字与关键字的区别。

    查看全部
  • while循环永远清除第一个节点:

    function clearText() {
      var content=document.getElementById("content");
      var i=0;
      while(i<content.childNodes.length){
          content.removeChild(content.childNodes[0]);
      } 
    }

    while清除最后一个也可以,改一下i和条件:

    function clearText() {
        var content=document.getElementById("content");
        var i=content.childNodes.length-1;
        while(i>=0){
            content.removeChild(content.childNodes[content.childNodes.length-1]);
        }
    }

     注意此处不能把"i"替换掉removeChild语句中的"content.childNodes.length-1",否则下次循环无法继续。

    for正序循环,把content.childNodes的长度单独赋予变量。永远清除第一个节点:

    function clearText() {
        var content = document.getElementById("content");
        var length = content.childNodes.length;
        for(var i=0;i<length;i++){
            content.removeChild(content.childNodes[0]);
        }
    }

    注意removeChild语句中的"0"不能替换为"i",否则会出现i大于子节点长度导致循环提前终止。

    for倒序循环:

    function clearText() {
        var content=document.getElementById("content");
        for(var i=content.childNodes.length-1;i>=0;i--){
            content.removeChild(content.childNodes[i]);
        }
    }

    倒序不会出现i小于子节点长度的情况。

    查看全部
  • con  返回的是HTMLCollection 一个html的集合提供可以遍历列表的方法和属性

    查看全部
  • 算术操作符  比较操作符  逻辑操作符  "="赋值符号

    同级从左至右

    查看全部
  • 给不明白迷糊的同学分享一下自己的看法n指的是接受当前标签。如底部的例子中:

    var y=get_previousSibling(x)

    那么传递到上面的函数:

    “function get_previousSibling(n){}”中,n就变成了x。

     于是乎:

    "var x=n.previousSibling"就相当于"var x=x.previousSibling"

    具体指的就是:

    "var x=document.getElementsByTagName("li")[0]"的上一个节点。

    考虑到其他浏览器会存在空白文本节点的存在,这时候就需要进行判断了:

    while (x && x.nodeType!=1){
                x=x.previousSibling;
            }

    上面的判断(元素节点)条件指的是:参与判断的节点本身为true(x=true)即存在,同时还要满足节点的type类型为1(元素节点的类型);

    如果条件不满足,一种是这个节点为空白文本节点,不是previousSibling,则x=x.previousSibling,将x变更为当前节点的上一个节点继续进行判断,一直while循环。另一种是不存在同级的上一个节点,循环退出,返回值null给y。

    如果 条件同时满足,则y对应的(x)节点进入下一步if判断:如果该节点是存在的(y!=null),则为previousSibling输出对应内容;如果y不存在(y==null),没有上一个元素节点,则找不到previousSibling。

     // 列子
     function get_previousSibling(n){
            var x=n.previousSibling;
            while (x && x.nodeType!=1){
                x=x.previousSibling;
            }
            return x;
        }
        var x=document.getElementsByTagName("li")[0];
        document.write(x.nodeName);
        document.write(" = ");
        document.write(x.innerHTML);
        
        var y=get_previousSibling(x);
        
        if(y!=null){
            document.write("<br />previoussibling: ");
            document.write(y.nodeName);
            document.write(" = ");
            document.write(y.innerHTML);
        }else if(y==null){
          document.write("<br>已经是最后一个节点");      
        }


    查看全部
    1 采集 收起 来源:访问兄弟节点

    2018-04-10

  • 此处div标签之间的“空格”成了文本元素,nodeName为#text,nodeValue为“ ”,nodeType为3。

    <body>
    <div id="con"><p>javascript</p><div>jQuery</div><h5>PHP</h5></div>
    <script type="text/javascript">
      var x=document.getElementById("con");
     document.write(x.firstChild.nodeName+'<br />');
     document.write(x.lastChild.nodeName);
    </script>
    </body>


    查看全部
  • onchange改变文本内容,onload加载

    查看全部
  • onclick鼠标单击,onmouseover鼠标经过,onmouseout鼠标移开,onfocus光标聚焦,onblur光标失焦,onselect内容选中

    查看全部
  •  var s=document.getElementsByTagName('div')[0].childNodes;
     for(var i=0;i<s.length;i++){
         document.write('节点类型'+s[i].nodeName+','+s[i].nodeValue+','+s[i].nodeType+'<hr>');
     }


    查看全部
  •     var tt=document.getElementsByTagName('li');
        for(var i=0;i<tt.length;i++){
        document.write('节点'+i+'的名称: '+tt[i].nodeName+'<br />');
        document.write('节点'+i+'的值: '+tt[i].nodeValue+'<br />');
        document.write('节点'+i+'的类型: '+tt[i].nodeType+'<br />');
        }


    查看全部
    0 采集 收起 来源:节点属性

    2018-04-10

  •         //任务1
            function checkall(){
                var hobbyIn=document.getElementsByTagName("input");
                for(var i=0;i<hobbyIn.length;i++){
                    if(hobbyIn[i].type=='checkbox'){
                    hobbyIn[i].checked=true;
                  }
                    
                }
            }
            //任务2
            function clearall(){
                var hobbyOut=document.getElementsByName("hobby");
                for(var i=0;i<hobbyOut.length;i++){
                    hobbyOut[i].checked=false;
                }
            }
            //任务3
            /* 最初这样写,发现只能单选
            function checkone(){
                var j=document.getElementById("wb").value;
                switch(j){
                    case '1':
                        document.getElementById('hobby1').checked=true;
                        break;
                    case '2':
                        document.getElementById('hobby2').checked=true;
                        break;
                    case '3':
                        document.getElementById('hobby3').checked=true;
                        break;
                    case '4':
                        document.getElementById('hobby4').checked=true;
                        break;
                    case '5':
                        document.getElementById('hobby5').checked=true;
                        break;
                    case '6':
                        document.getElementById('hobby6').checked=true;
                        break;
                }
            }
    简单版本: 
            function checkone(){
            var j=document.getElementById("wb").value;
            var hobby=document.getElementById("hobby"+j);
            hobby.checked=true;
        }
    然后看了其他同学的作答,比较好的方法如下,可以同时多选 */
            function checkone(){
                var j=document.getElementById("wb").value;
                for(var i=0;i<j.length;i++){
                var hobbyId='hobby'+j.charAt(i);
                document.getElementById(hobbyId).checked=true;
                }
                
            }
                //document.getElementById(hobbyId).setAttribute('checked',true);这样也可以


    查看全部

举报

0/150
提交
取消
课程须知
你需要具备HTML、css基础知识,建议同学们也可以想学习下js入门篇,快速认识js,熟悉js基本语法,更加快速入手进阶篇!
老师告诉你能学到什么?
通过JavaScript学习,掌握基本语法,制作简单交互式页面
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!