类型error primeFactors.for不是函数
Type error primeFactors.for is not a function
我从Jasmine那里收到了一个"TypeError:primeFactors.for不是函数"错误。当我尝试运行此代码时,我已经多次遇到这种类型的错误。解决问题的最佳方法是什么?我很清楚。因为不是函数,但我不知道为什么?
var primeFactors = function(){};
primeFactors.prototype.for = function(num){
var array = [];
for(var i = 2; i < Math.ceil(Math.sqrt(num)); i++){
if(num % i === 0){
array.push(i);
num = num/i;
i--;
}
}
return array;
};
module.exports = primeFactors;
当您想要调用.for
时,您必须为该原型创建一个对象实例,例如使用new
关键字:
这不好:
primeFactors.for(3);
但这还可以:
var obj = new primeFactors;
obj.for(3);
对于你的Jasmine测试,它会这样工作:
it('returns an empty array for 1', function() {
expect((new primeFactors).for(1)).toEqual([]);
});
如果测试编写正确,您可以使用静态函数(类内)来传递它们。看看:https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Classes/static
"use strict";
class primeFactors {
static for(num) {
var array = [];
for(var i = 2; i < Math.ceil(Math.sqrt(num)); i++){
if(num % i === 0){
array.push(i);
num = num/i;
i--;
}
}
return array;
}
};
module.exports = primeFactors;
相关文章:
- 类型error primeFactors.for不是函数
- 鉴于 for..在构造中,库提供的函数(如 jQuery.map() 或 _.each())有什么用
- 使用for循环从Javascript中的函数返回多个值
- For循环在Javascript函数中无法正常工作
- JavaScript/Jquery:一个特殊用途的for循环函数
- 函数式编程 - 用于递增计数器的简单 for 循环
- for循环中的jQuery函数
- 将for循环的值赋给函数d3
- 使用函数for循环遍历对象以更改值,然后返回结果
- 在 Node.js 中脱离回调函数中的“for”循环
- JavaScript + mocha:可能是在 for 循环中声明函数的闭包问题
- Javascript破坏了回调函数内部的for循环
- 如何在for循环中调用函数
- 函数式编程 - .bind.apply for curry function.
- 在for循环中创建函数
- JS For循环在调用函数后提前停止
- Javascript:connection.query函数正在破坏我的for循环
- 如何使用函数(for循环)从按钮中获取用户输入以显示在文本框中
- csv访问器函数for循环
- Django中的动态Javascript函数"for"循环