实现如下语法的功能:var a = (5).plus(3).minus(6); //2
2024-09-26 12:36:46
从汤姆大叔的博客里看到了6个基础题目:本篇是第5题 - 实现如下语法的功能:var a = (5).plus(3).minus(6); //2
解题关键:
1、理解使用(5)和5的区别
2、构造函数原型的扩展(Object.prototype)
解点1:理解使用(5)和5的区别
console.log( (5).toString() ); //
console.log( 5.toString() ); // Unexpected token ILLEGAL
(5)是一个表达式,它会返回一个Number对象,而5是一个常量,不会返回一个Number对象。
解点2:构造函数原型的扩展
js中,所有的数字都是一个Number对象,也可以理解为"数字是根据Number构造函数new出来的实例"。每一个对象都有原型,一旦对某个构造函数的原型添加属性或方法,那么以此构造函数new出来的实例都会增加此属性或方法,如题,我们只需要对Number进行扩展plus和minus两个方法即可解决该问题,代码如下:
Number.prototype.plus = function(n) {
return this.valueOf() + n;
}
Number.prototype.minus = function(n) {
return this.valueOf() - n;
}
console.log( (5).plus(3).minus(6) ) //
根据解此题的思路,还可扩展String/Math等……
此解解答完毕!
最新文章
- 《中国文明史》系列—外柔 VS 内厉
- 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现
- mysql取前取后
- xml配置文件的读写
- CSS3按钮鼠标悬浮光圈效果
- java-mvc
- 有序列表和无序列表、流、格式布局:position
- C++中static的全部作用
- ios 应用剖析
- Keil IDE指南.
- 部分iphone手机上的div的点击事件无效
- Jquery第三篇【AJAX 相关的API】
- python3 常用模块
- python3.6+selenium3.13 自动化测试项目实战一
- 阿里云HBase携X-Pack再进化,重新赋能轻量级大数据平台
- Openresty 学习笔记(二)Nginx Lua 正则表达式相关API
- CentOS7设置阿里镜像
- MiniProfiler工具介绍(监控EF生成的SQL语句)--EF,迷你监控器,哈哈哈
- [c#] Html Agility Pack 解析HTML
- WebView之加载网页时增加进度提示