有些技巧不建议在项目中使用,但可以作为了解,方便我们阅读别人的代码, 文章参考他人博客(具体出处不详), 自己做了总结和修改
1.变量转换
var myVar = "3.14159";
var myOtherVar = "3.14159haha"
str = ""+ myVar; // 转成字符串
int = ~~myVar; // 转为数字类型,下取整 3
int = ~~myOtherVar // 结果为0
float = +myVar; // 转为数字类型,结果为原数据
int = +myOtherVar; // NaN
float = 1*myVar; // 效果类似+
bool = !!myVar; /* 大于0长度的字符串和除0外的其他数字转为true, 其他
转为false*/
array = [myVar]; // 转为数组
转换日期new Date(myVar)
正则表达式new RegExp(myVar)
必须使用构造函数,而且创建正则表达式的时候要使用/pattern/flags的形式
2.十进制转换为十六进制或者八进制,或者反过来
(int).toString(16); // 10进制转16进制, eg 12 => "C"
(int).toString(8); // 10进制转8进制, eg. 12 => "14"
parseInt(string,16) // 16进制转10进制, eg. "FF" => 255
parseInt(string,8) // 8进制转10进制, eg. "20" => 16
3.玩转数字
0xFF; // 16进制以 '0x' 开头, returns 255
020; // 8进制以 '0' 开头, returns 16
1e3; // 效果等同于 Math.pow(10,3), returns 1000
(1000).toExponential(); // 与上一个相反, returns 1e3
(3.1415).toFixed(3); // 四舍五入保留位数, 结果字符串, returns "3.142"
/****************Math方法操作数字*********************/
Math.floor(3.1415); // 3 下取整
Math.ceil(3.1415); // 4 上取整
Math.round(3.14); // 3 四舍五入取整
Math.round(3.54); // 4