当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 学习中遇到的一些未解决的问题

学习中遇到的一些未解决的问题

2020年07月17日  | 移动技术网IT编程  | 我要评论

实现方法的链式调用

题目:

num = 5
num.add(2).reduce(1) = 5 + 2 - 1

解析:

问题1,num作为基本类型,没有办法直接添加方法

问题2:其次,上一个方法的返回值可以直接调用下一个方法

  1. 首先,基本类型number不具备这样的方法。所以要使用它基本包装类型的原型,在原型上创建新的方法
  2. 说明返回的值仍然是实例(可能经过上一个方法的更改),原型的实例即值
Number.prototype.add=function(num){
    return this + num;
}
Number.prototype.reduce=function(num){
    return this + num;
}

arguments转换Array

类似数组的数据==>数组类型

正常方法

// 正常方法
function arrayLike2Array() {
    return Array.prototype.slice.call(arguments);
}
console.log(arrayLike2Array(1, 2, 3, 4, 5, 6, 7)); // [1,2,3,4,5,6,7]

非常规

// 非常规
var MakeObj = function () {
    return Array.apply(null, arguments);
};
console.log(Array.call(null, 1, 2, 3, 4, 5, 6));
console.log(MakeObj(1, 2, 3, 4, 5, 6, 7));

本文地址:https://blog.csdn.net/weixin_41075012/article/details/107371186

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网