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

JavaScript进阶篇

慕课官方号 页面重构设计
难度入门
时长 8小时55分
  • 变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服、玩具、水果...等。

    查看全部
    0 采集 收起 来源:什么是变量

    2018-10-11

  • offsetHeight和offsetWidth,获取网页内容高度和宽度(包括滚动条等边线,会随窗口的显示大小改变)。

    offsetHeight = clientHeight + 滚动条 + 边框。

    查看全部
  • scrollHeight和scrollWidth,获取网页内容高度和宽度。

    var w=document.documentElement.scrollWidth
       || document.body.scrollWidth;
    var h=document.documentElement.scrollHeight
       || document.body.scrollHeight;


    查看全部
  • window.innerWidth/window.innerHeight浏览器内部高宽度

    document.documentElement.clientHeight (document.body.clientHeight) /document.documentElement.clientWidth (document.body.clientWidth)当前HTML文档所在窗口宽高度


    查看全部
  • createTextNode() 方法创建新的文本节点,返回新创建的 Text 节点

    var text = document.createTextNode("I love javascript!");     .appendChild(text)

    查看全部
  • createElement()方法可创建元素节点。此方法可返回一个 Element 对象。 var a = document.createElement("a");

    setAttribute() 方法添加指定的属性,并为其赋指定的值

    createa(url,text)      

    a.setAttribute("href", url);     a.innerHTML = text;

    查看全部
  • # DOM

    DOM 节点:

    1- 元素节点:如 <html> <body><p>等标签;

    2- 文本节点:想用户展示的内容,如<li>...</li>中的文本;

    3- 属性节点:元素属性,如<a>标签的连接性属性 href="...";


    节点属性:

    nodeName; // 返回一个字符串,内容为给定节点的名字;
    元素:同标签名;
    属性:属性的名称;
    文本:#text;
    文档:#document;
    
    nodeType; // 返回一个整数,代表给定节点的类型;
    // 1: 元素
    // 2: 属性
    // 3: 文本
    // 8: 注释
    // 9: 文档
    
    nodeValue; // 返回给定节点的当前值;
    // 元素:udefined 或 null;
    // 文本:文本自身
    // 属性:属性的值

    获取节点:

    getElementsByName(name); // 根据指定的 name 获取元素集合(数组),有 length 属性
    getElementsByTagName(Tagname); // 返回指定标签名的节点对象的集合(数组),Tagname 如p、a、img 等
    getAttribute(name); // 通过元素节点的属性名称获取该属性的值;
    // 使用:
    elementNode.getAttribute(name);
    // elementNode 由 getElementById() 或 getElementsByTagName() 等方法获取
    // name: 为将查询的属性的名称,如 id、title 等

    兄弟节点:

    nodeObject.nextSibling; // 返回该节点的后一个节点;
    nodeObject.previousSibling; // 返回该节点的前一个节点;
    parentNode.appendChild(); // 在父节点下的最后插入新节点;
    // 添加新的子节点,首先需要创建该节点,并根据需要设置该节点,如:
    newChildNode = document.createElement("p"); // 创建一个新的 p 标签;
    newChildNode.innerHTML = "This is a P node"; // 添加此 p 标签显示的内容;
    parentNode.appendNode(newChildNode); // 将新子节点加入父节点内


    insertBefore(newNode, node); // 在 node 之前插入 newNode
    parentNode.removeChild(node); // 删除子节点;
    parentNode.replaceChild(newnode, oldnode); // 替换子节点;
    document.createElement(tagName); // 创建元素节点;tagName 表示创建元素的类型
    document.createTextNode(text);


    查看全部
  • replaceChild 实现子节点(对象)的替换。返回被替换对象的引用。 node.replaceChild (newnode,oldnew)

    newnode : 必需,用于替换 oldnew 的对象。 

    oldnew : 必需,被 newnode 替换的对象。

    注意: 

    1. 当 oldnode 被替换时,所有与之相关的属性内容都将被移除。 

    2. newnode 必须先被建立。


    查看全部
  • <title>数组</title>

    <script type="text/javascript">

        //创建数组

        var  arr = ['*','##',"***","&&","****","##*"];

        arr[7] = "**";

        //数组长度

        var l = arr.length;

        

        //删除数组中非*的项

        var i = 0;

        for(; i < l; i++){

            var val = arr[i];


            if(val != undefined) {

                var newarr = val.split('');

                var newl = newarr.length;

                for(var j = 0; j < newl; j++){

                    if(newarr[j] != '*'){

                        arr.splice(i, 1);

                        break;

                    }

                }

            }

        }


        //按照字符数排序

        arr.sort(function(a, b){

            if(a.length > b.length){

                return 1

            }else if(a.length < b.length){

                return -1

            }else{

                return 0

            }

        })

        

     

        //将数组内容输出,完成达到的效果。

        for(var i = 0; i < l; i++){

            if(arr[i] != undefined){

            document.write(arr[i] + '<br />')

            }

        }

    </script>

    </head>

    <body>

    <p>还没讲到正则</p>


    查看全部
    0 采集 收起 来源:编程练习

    2018-10-11

  • 我们赶快给变量取个好名字吧!变量名字可以任意取,只不过取名字要遵循一些规则:

    1.必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。如下:

    正确:           
        mysum            
        _mychar         
        $numa1
    错误:  6num  //开头不能用数字
      %sum //开头不能用除(_ $)外特殊符号,如(%  + /等)
      sum+num //开头中间不能使用除(_ $)外特殊符号,如(%  + /等)

    2.变量名区分大小写,如:A与a是两个不同变量。

    3.不允许使用JavaScript关键字和保留字做变量名。


    查看全部
  • 访问父节点parentNode

    获取指定节点的父节点

    语法:

    elementNode.parentNode
    访问祖节点:elementNode.parentNode.parentNode

    后面还能嵌套parentNode的

    查看全部
  • 访问子节点的第一和最后项

    一、firstChild 属性返回‘childNodes’数组的第一个子节点。如果选定的节点没有子节点,则该属性返回 NULL。

    语法:

    node.firstChild

    说明:与elementNode.childNodes[0]是同样的效果。 

    二、 lastChild 属性返回‘childNodes’数组的最后一个子节点。如果选定的节点没有子节点,则该属性返回 NULL。

    语法:

    node.lastChild

    说明:与elementNode.childNodes[elementNode.childNodes.length-1]是同样的效果。 

    注意: 上一节中,我们知道Internet Explorer 会忽略节点之间生成的空白文本节点,而其它浏览器不会。我们可以通过检测节点类型,过滤子节点。 (以后章节讲解)

     例子:

    document.write("第一个子节点:"+x.firstChild.nodeName+"<br>");

    document.write("最后一个子节点:"+x.lastChild.nodeName+"<br>");


    查看全部
  • 访问子节点childNodes

    访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性。

    语法:

    elementNode.childNodes

    注意:

    如果选定的节点没有子节点,则该属性返回不包含节点的 NodeList。

    我们来看看下面的代码:

    运行结果:

    IE:

      UL子节点个数:3   节点类型:1

    其它浏览器:

       UL子节点个数:7    节点类型:3

    注意:

    1. IE全系列、firefox、chrome、opera、safari兼容问题

    2. 节点之间的空白符,在firefox、chrome、opera、safari浏览器是文本节点,所以IE是3,其它浏览器是7,如下图所示:

    如果把代码改成这样:

    <ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>

    运行结果:(IE和其它浏览器结果是一样的)

      UL子节点个数:3   节点类型:1

    注意:空格,换行,都是可以被识别的。

    查看全部
  • # screen 对象

    语法:

    window.screen.属性;

    属性:

    availHeight; // 返回显示屏幕的高度,单位:像素(windows 任务栏除外,下同);
    availWidth; // 返回显示屏幕的宽度,单位:像素;
    colorDepth; // 用户浏览器表示的颜色位数,通常为 32 位(每像素的位数);
    pixelDepth; // 用户浏览器表示的颜色位数,通常为 32 位;
    height; // 屏幕的高度,单位:像素;
    width; // 屏幕的宽度,单位:像素;


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

    2018-10-10

  • 节点属性

    在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性 :

    1. nodeName : 节点的名称

    2. nodeValue :节点的值

    3. nodeType :节点的类型

    语法:XXXX.nodeName。

    一、nodeName 属性: 节点的名称,是只读的。

    1. 元素节点的 nodeName 与标签名相同
    2. 属性节点的 nodeName 是属性的名称
    3. 文本节点的 nodeName 永远是 #text
    4. 文档节点的 nodeName 永远是 #document

    二、nodeValue 属性:节点的值

    1. 元素节点的 nodeValue 是 undefined 或 null
    2. 文本节点的 nodeValue 是文本自身
    3. 属性节点的 nodeValue 是属性的值

    三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:

    元素类型    节点类型
      元素          1
      属性          2
      文本          3
      注释          8
      文档          9


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

    2018-10-10

举报

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

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