关于js
来源:互联网 发布:淘宝客服子账号分流 编辑:程序博客网 时间:2024/06/10 14:58
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。
- 关于js
- 关于js
- 关于js
- 关于JS
- 关于js
- 关于 WebUIValidation.js
- 关于 JS/UIX
- 关于js日期控件
- 关于JS绘图
- 关于Js表单验证
- 关于JS中option
- js-----关于this
- 关于JS字符串比较
- 关于JS的倒计时
- 关于js调用ws
- 关于js精度计算
- 关于 html js
- 关于js setInterval setTimeout
- Graham's Scan法求解凸包问题
- [原创]JAVA字符串池的个人理解,请各位高手指点!!
- HTML之meta
- StarDict格式辞典单词列表提取工具
- 异常:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。 (SQL2000转到2005)
- 关于js
- JavaScript Cookies ,cookie 用来识别用户。
- linux下c语言连接mysql数据库
- 内核映射
- 正则表达式大全
- nchar,char,varchar与nvarchar区别
- matlab错误:One or more output arguments not assigned during call to
- FileGDB API for linux学习系列之三,检索目录树
- 缓存引起的session问题(ajax,js,jquery,asp.net,C#)