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。