欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-13 17:13:18
实现方法连续调用题目:num = 5num.add(2).reduce(1) = 5 + 2 - 1解析:问题1,num作为基本类型,没有办法直接添加方法问题2:其次,上一个方法的返回值可以直接调用下一个方法首先,基本类型number不具备这样的方法。所以要使用它基本包装类型的原型,在原型上创建新的方法说明返回的值仍然是实例(可能经过上一个方法的更改),原型的实例即值Number.prototype.add=function(num){ return this + num;}...

实现方法的链式调用

题目:

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