本文实例为大家分享了JavaScript编程学习技巧,供大家参考,具体内容如下
1、变量转换
varmyVar="3.14159",str=""+myVar,//tostringint=~~myVar,//tointegerfloat=1*myVar,//tofloatbool=!!myVar,/*toboolean-anystringwithlengthandanynumberexcept0aretrue*/array=[myVar];//toarray
但是转换日期(new Date(myVar))和正则表达式(new RegExp(myVar))必须使用构造函数,创建正则表达式的时候要使用/pattern/flags这样的简化形式。
2、取整同时转换成数值型
//字符型变量参与运算时,JS会自动将其转换为数值型(如果无法转化,变为NaN)'10.567890'|0//结果:10//JS里面的所有数值型都是双精度浮点数,因此,JS在进行位运算时,会首先将这些数字运算数转换为整数,然后再执行运算//|是二进制或,x|0永远等于x;^为异或,同0异1,所以x^0还是永远等于x;至于~是按位取反,搞了两次以后值当然是一样的'10.567890'^0//结果:10-2.23456789|0//结果:-2
3、日期转数值
//JS本身时间的内部表示形式就是Unix时间戳,以毫秒为单位记录着当前距离1970年1月1日0点的时间单位vard=+newDate();//1295698416792
4、类数组对象转数组
vararr=[].slice.call(arguments)下面的实例用的更绝functiontest(){varres=['item1','item2']res=res.concat(Array.prototype.slice.call(arguments))//方法1Array.prototype.push.apply(res,arguments)//方法2}
5、进制之间的转换
(int).toString(16);//convertsinttohex,eg12=>"C"(int).toString(8);//convertsinttooctal,eg.12=>"14"parseInt(string,16)//convertshextoint,eg."FF"=>255parseInt(string,8)//convertsoctaltoint,eg."20"=>16将一个数组插入另一个数组指定的位置vara=[1,2,3,7,8,9];varb=[4,5,6];varinsertIndex=3;a.splice.apply(a,Array.prototype.concat(insertIndex,0,b));
6、删除数组元素
vara=[1,2,3,4,5];a.splice(3,1);//a=[1,2,3,5]
大家也许会想为什么要用splice而不用delete,因为用delete将会在数组里留下一个空洞,而且后面的下标也并没有递减。
7、判断是否为IE
varie=/*@cc_on!@*/false;
这样一句简单的话就可以判断是否为ie,太。。。
其实还有更多妙的方法,请看下面
//edithttp://www.lai18.com//貌似是最短的,利用IE不支持标准的ECMAscript中数组末逗号忽略的机制varie=!-[1,];//利用了IE的条件注释varie=/*@cc_on!@*/false;//还是条件注释varie//@cc_on=1;//IE不支持垂直制表符varie='v'=='v';//原理同上varie=!+"v1";
学到这个瞬间觉得自己弱爆了。
尽量利用原生方法
要找一组数字中的最大数,我们可能会写一个循环,例如:
新闻热点
疑难解答
图片精选