你不知道的JS(中)

许多数组函数用来处理字符串很方便。虽然字符串没有这些函数,但可以通过“借用”数组的非变更方法来处理字符串: 

a.join; // undefined a.map; // undefined

var c = Array.prototype.join.call( a, "-" );
var d = Array.prototype.map.call( a, function(v){

return v.toUpperCase() + "."; } ).join( "" );

c; // "f-o-o" d; // "F.O.O." 

var c = a
// 将a的值转换为字符数组 .split( "" )
// 将数组中的字符进行倒转 .reverse()
// 将数组中的字符拼接回字符串 .join( "" );

c; // "oof" 


tofixed(..) 

var a = 42.59;

a.toPrecision

1 ); // "4e+1"
2 ); // "43"
3 ); // "42.6"
4 ); // "42.59"
5 ); // "42.590" 6 ); // "42.5900" 


//误差

return Math.abs( n1 - n2 ) < Number.EPSILON; 


ES6 Object.is

vara=2/"foo"; 

varb=-3*0;

Object.is( a, NaN ); 

Object.is( b, -0 );

Object.is( b, 0 );

// true // true

// false 

对于 ES6 之前的版本,Object.is(..) 有一个简单的 polyfill:

if (!Object.is) {
Object.is = function(v1, v2) {

// 判断是否是-0 if(v1===0&&v2===0){

return1/v1===1/v2; }

// 判断是否是NaN if(v1!==v1){

return v2 !== v2; }

// 其他情况

return v1 === v2; };

}


[[class]]

Object.prototype.toString.call( null );

// "[object Null]" 


~x === -(x+1) 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值