zoukankan      html  css  js  c++  java
  • .Net培训个人总结笔记22

    学习交流,欢迎转载。转载请注明文章来源:http://www.cnblogs.com/lgjspace/archive/2011/10/12/2218260.html

    细节:
    若有 var x = 0; 则 (!x) 的值也为 true ,即下面语句会被触发:

    1 if(!x) {
    2 alert("不X!");
    3 }

    经验:

    1 <script type = "text/script" src = "123.js" ></script>  <!--这样写才会有效果-->
    2 <script type = "text/script" src = "123.js" /> <!--这样写不会有效果,原因暂时不明。-->

    细节:
    一旦命名冲突,则以最后一个声明的为准。

    细节:

     1 <script type = "text/javascript">
    2 var arr = new Array();
    3 arr[0] = 1; // Array 的数组功能只是其字典功能的一个特例。
    4 arr[""] = 2;
    5 arr[""] = "kou";
    6 arr["shou"] = "";
    7 arr[true] = "false"; // Array 的 key 的类型不一定要保持一致,可以在同一个 Array 对象中使用多种不同类型的 key。
    8 for (var i in arr) {
    9 alert("arr[" + i + "] = " + arr[i] + "\n"); //用类似于 C# 中的 foreach 的形式遍历 Array 实例的时候,定义的 i 是 Array 实例中每个元素的 key,而非 value。
    10 }
    11 </script>

    细节:

    1 <script type = "text/javascript">
    2 //Array的简化声明方式:
    3 var arr1 = [20, "234", "spe", 32, true, "c"]; //数组风格的简化声明,但元素不一定要类型统一。
    4 var arr2 = [2, 34, 65, 77, 93, 23];//数组风格的简化声明。
    5 var arr0 = { "46": 23, "df": 456, "osdif": "ooooo", 23: false, 2.34: 3.14 };//字典风格的简化声明。
    6 //Array的访问方式:
    7 alert(arr0.osdif); //像调用属性一样访问Array的值,但前提是key部分不能是数字,且Array的实例名不能为arr(不知道为什么),否则不会显示。
    8 alert(arr1[20]);
    9 </script>

    !!!从以下练习题中得知:js中用for(var * in *) 的遍历方式不能遍历字符串。暂时只知道可以遍历Array。

     1 <head>
    2 <title>火星文翻译器(网页版)</title>
    3 <script type = "text/javascript">
    4 var str1 = "啊阿埃挨哎唉哀皑......"; //全局简体中文字库变量
    5 var str2 = "啊阿埃挨哎唉哀皚......"; //全局火星文字库变量
    6 var dict = new Array();
    7 function Add() {
    8 for (var i = 0; i < str1.length; i++) {
    9 dict[str1[i]] = str2[i];
    10 }
    11 //alert(dict["碍"]); //这里的打印结果为“礙”,因为此时正在调用着 Add 函数,而且刚刚为 dict 赋值完毕。
    12 return dict;
    13 }
    14 //alert(dict["碍"]);//这里的打印结果为“undefined”,因为此时还没有调用Add函数,dict的值仍然为空。
    15 function Translate(str) {
    16 // //这种做法有误:原因留意下面注释和对比正误两种过程。
    17 // var result = "";
    18 // for (var ch in str) {
    19 // //alert(ch);//这里打印结果为空,估计是由于用这种方法遍历字符串是不可行的。
    20 // var char = str[ch];//错误,由 for 遍历得出的 ch 始终为空,导致这里给 char 设到的值总是为空。
    21 // result += dict[char];
    22 // }
    23 // return result;
    24
    25 //正确方法:
    26 var result = "";
    27 for (var i = 0; i < str.length; i++) {
    28 result += dict[str[i]];
    29 }
    30 return result;
    31 }
    32 var str = "我爱吃西瓜";
    33 Add();
    34 //alert(dict["碍"]); //这里的打印结果为“礙”,因为此前刚调用完Add函数,为 dict 的赋值操作已经完成,而且 Array 是传递引用,在函数里面的修改操作对在函数外面的 dict 也有效果。
    35 alert(Translate(str));
    36 </script>
    37 </head>
    38 <body>
    39 ......
    40 </body>
    41 </html>

    细节:
    “"\""”这种情况可以用“'"'”来替换,效果一样,还可以省掉转义的步骤。

    细节:
    用"(window.)location.href"可以获得或更改(即相当于重定向)当前页面的地址。

    细节:
    html 中 body 所指定的有效范围会受内容而影响,而且每个版本都不一样。
    在 IE8 中,当 body 里面没有任何内容时,body 指代的范围就只有白色页面的左上角一小块地方;
    在 IE9 中,当 body 里面没有任何内容时,body 指代的范围就为零,即一点位置都没有;当 body 里面有内容的时候,内容到哪里,body 指代的范围就到哪里。

    细节:
    Dom 中的 window 对象指代的只是当前的页面(如果是 IE8 或以上的话所代表的只是当前的选项卡),并不包括其它的页面(选项卡),即一个页面(选项卡)一个 window 对象。

    细节:
    使用 window 对象的属性、方法的时候可以省略 window。比如:window.alert("a") 可以省略成 alert("a")。

  • 相关阅读:
    hash联接算法
    Nginx实现WEB故障转移以及重定向
    MSSQL分区表
    SSO示例
    MSMQ 跨服务器读写队列
    利用Heartbeat完成Mysql主-主同步
    采用heartbeat做Redis的主从切换
    Redis的RDB AOF DATABASE
    Redis初试
    简单线性回归
  • 原文地址:https://www.cnblogs.com/lgjspace/p/2218260.html
Copyright © 2011-2022 走看看