关于js

    技术2022-05-20  30

    javaScript对于每一个开发人员,大家都应该不陌生,这里我只是简短的找几个例子说来玩玩。

     

    1.神奇的数字转换

     

    020;  这里表示将八进制数字转换成十进制数字 最终答案:16,还可以进行十六进制的转换,例如:0xFF; 等于:255

    1e3;  类似于JAVA 1 * Math.pow(10,3)最终答案:1000

    (3.1415).toFixed(3); 保留三位小数 3.142

     

    2.不同进制之间的数字转换

    你是不是写个单独的函数来转换十六进制(或者八进制)呢?停下来,看看此处:(这里属于转载)

    (int).toString(16); // converts int to hex, eg 12 => "C"       (int).toString(8);  // converts int to octal, eg. 12 => "14"       parseInt(string,16) // converts hex to int, eg. "FF" => 255       parseInt(string,8) // converts octal to int, eg. "20" => 16  

     

    3.为replace()方法传递一个函数

    有的时候你想替换字符串的某个部分为其它的值,最好的方法就是给String.replace()传递一个独立的函数。

    下面是实现在线扑克游戏中大量输出的一个简单例子:

    var sFlop   = "Flop: [Ah] [Ks] [7c]";       var aValues = {"A":"Ace","K":"King",7:"Seven"};       var aSuits  = {"h":"Hearts","s":"Spades","d":"Diamonds","c":"Clubs"};     sFlop   = sFlop.replace(//[/w+/]/gi, function(match) {            match   = match.replace(match[2], aSuits[match[2]]);            match   = match.replace(match[1], aValues[match[1]] +" of ");                  return match;        });              // string sFlop now contains:        // "Flop: [Ace of Hearts] [King of Spades] [Seven of Clubs]"

     

    4.使用document.createDocumentFragment()

    您可能需要动态地追加多个元素到文档中。然而,直接将它们插入到文档中会导致这个文档每次都需要重新布局一个,相反的,你应该使用文档碎片,建成后只追加一次:

    function doSomething(arg0, arg1, arg2, arg3, arg4) {        ...        }              doSomething('', 'foo', 5, [], false);  而传递一个对象总是比传递一堆的参数方便:function createList() {           var aLI = ["first item", "second item", "third item","fourth item", "fith item"];                   // Creates the fragment            var oFrag   = document.createDocumentFragment();                    while (aLI.length) {                var oLI = document.createElement("li");                        // Removes the first item from array and appends it                // as a text node to LI element                oLI.appendChild(document.createTextNode(aLI.shift()));                oFrag.appendChild(oLI);            }                    document.getElementById('myUL').appendChild(oFrag);         }

     

    5.给函数传递参数

    当函数既有必选又有可选参数的时候,我们可能是这样做的:

    function doSomething(arg0, arg1, arg2, arg3, arg4) {        ...        }              doSomething('', 'foo', 5, [], false);  而传递一个对象总是比传递一堆的参数更方便:

    function doSomething() {             // Leaves the function if nothing is passed            if (!arguments[0]) {               return false;            }                 var oArgs   = arguments[0]    arg0    = oArgs.arg0 || "",                arg1    = oArgs.arg1 || "",                arg2    = oArgs.arg2 || 0,                arg3    = oArgs.arg3 || [],                arg4    = oArgs.arg4 || false;       }             doSomething({            arg1    : "foo",            arg2    : 5,            arg4    : false      });   这只是一个把对象作为参数传递的一个很简单的例子,例如,我们还可以声明一个对象,变量名作为Key,默认值作为Value。

     


    最新回复(0)