zoukankan      html  css  js  c++  java
  • 《JavaScript DOM编程艺术》第六章笔记

    1.P85“如果没有placeholder图片”指的是ID,还是src还是图片?

    如果没有ID,结果和书本一样,点击哪个链接都没反应。

    如果没有SRC,进去时没有预图片,但是其他链接正常显示图片。

    如果没有图片,和没有SRC差不多,预加载页面图片框架大小不同而已。

    所以书本上说的是ID,书本这点没有说清楚。

    意味着文档如果没有这种ID的东西(在这里是预加载图片placeholder.gif),就不能好好工作,但是这种东西不一定有,所以要进行平稳退化(没有它也能好好工作),这也是平稳退化的意义所在。

     

    2.过程中发现加入alert('1');可以容易发现哪一步有没有执行。以后可能有document.write方法。

     

    3.onclick = function() {

     alert("1");

          return !func2();

      alert('2');

    }

    function func2(){

    alert("3");

    }

    alert('4');

    开网页弹4,点击弹1,3。与!无关。说明

    return会结束函数。

    ②载入执行4,再点击执行其他。

    return里面的函数func2()会执行。

    但是如果里面是赋值,会不会保存下来呢?

     

    4.我先测试各节点

     onclick = function() {

    var x=1;

    alert(x);

    alert("x");

        return func2();

    }

     

    var y=2;   //先执行这里。

    alert(y);  

    alert("y");

    alert('y'); //说明双引号和单引号没区别。

     

    function func2(){

    var z=3;

    alert(z);

    alert("z");

    }

     

        var k=4;   

    alert(k);

    alert("k"); //运行结果是2yy4k 点击后1x3z,如果是onload,则全部在载入时显示(同上

                   顺序)。如果是beforeload,则只显示2yy4k,说明function里面的函数不会

                   给用户看到。提前试用了一下这个函数,以后会再学到吧。

        alert(x);   //以下的都不运行

        alert(y);

        alert(z);

    alert("k"); //因为这里y没有赋值,所以不运行!!与④是一样效果的!说明程序错误的话,下面的都不运行。

    如果把var y=2;变成全局变量y=2;,且alert(y)放在alert(x)之前,则这里正常运行出y

    如果把x变成全局变量呢?答案是没有运行出xonloadbeforeload也一样),因为x存在function里,是后执行的函数。

    △如果把一个错误的未定义函数alert(p);放在func2()的前一句。结果是2,y,y,点击后还是1,x,3,z。说明错误函数不会影响function

     

    ④var c=d.firstChild;

    onclick = function() {

     alert("1");

          return !func2();

    }

    function func2(){

    alert("2");

    }

    发现下面的窗口全部无法弹出。

    如果把var放在最后,页面正常弹出窗口。

    onclick = function() {

      x=1;

        return func2();

    }

    function func2(){

    alert(x);

    }

    结果是1,说明函数间的全局变量是可以行得通的。

    相反,如果把alert(x)写在上面,则全部都会出错。如下,全部都不运行。

      onclick = function() {

     alert(x);

     alert("x");

        return func2();

    }

    function func2(){

     x=1;

         alert("y");  

    }

     再有,函数间的局部变量也是不互通的。下面的程序只显示一个2

       onclick = function() {

    var x=2;

    alert(x);

        return func2();

    }

    function func2(){

    alert(x);  

    }

    5.回到上面func2()里面的值会不会保存的问题,从上面的讨论可以知道,这个要分它原本是局部变量还是全局变量来看。而且要看它之后是用到哪里,function里还是其他地方。要分清楚函数的执行顺序。如果是平行的函数呢?额,还是全部用局部变量好。

    6.点击链接时弹窗,该如何写?

        var a=document.getElementsByTagName("a")[0];

    a.onclick = function() {

    alert("2");

    }

    7.links[i].onclick = function() {

        return !showPic(this);}

    如果showpic函数不能运行,那么onclick运行,打开新页面。如果showpic函数正常,那么链接不运行,和之前的showpic(this);

                         return false;语句效果一样。

  • 相关阅读:
    Android 中的通知
    Android 画图之Matrix(二)
    Android 画图之 Matrix(一)
    Android 实现书籍翻页效果(转载链接)
    Android 基于TranslateAnimation 的动画动态菜单(非系统menu菜单)
    Activity 页面切换的效果
    Android 访问本地API doc较慢
    Eclipse插件工具
    Android 性能优化的一些方法
    Android JAVA代码执行shell命令
  • 原文地址:https://www.cnblogs.com/shen076/p/6080807.html
Copyright © 2011-2022 走看看