Why am i a number?

console.log("Why am i a " + typeof + ""); //Why am i a number

一、加号的运算:

1)首先运行加号左右表达式,并将传入ToPrimitive,参考ECMASCRIPT规范

2)表达式操作数其中一个为String,用字符串拼接,返回String( left ) 和 String( right )拼接结果

3)如果一个操作数是对象,对象调用toString()方法,进行转换,然后按情况2)处理

4)其他情况就返回Number( left ) + Number( right ) 的相加结果

二、具体实例:

var Benjamin = {
	"benjamin":"Ben"
};

console.log(Benjamin + 1);          //[object Object]1
console.log( + "");                 //0
console.log( + "Benjamin");         //NaN
console.log(typeof (+ "Benjamin")); //number
console.log(null + 0);              //0   等价于Number(null) + 0 即 0 + 0 = 0
console.log(undefined + 0);			//NaN 等价于Number(undefined) + 0 即 NaN + 0 = NaN
console.log(null + "");             //null[String]
console.log(undefined + "");        //undefined[String]
console.log(NaN + "");		        //NaN[String]
console.log(typeof + "");           //number 等价于console.log(typeof (+ ""))
console.log("Why am i a " + typeof + ""); //Why am i a number


 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值