javascript - 未定义的行为错误,但代码工作正常
问题描述
输出 -
product1 的超级客户
产品的好客户2
product3 的潜在客户
不明确的
问题 - 为什么我最后会得到那个未定义的?
var customer = {
firstname: "",
lastname: "",
moneySpent: [],
getTotal: function(){
var sum = 0;
for(let i = 0; i < 3; i++){
sum += this.moneySpent[i];
}
return sum;
},
getLevel: function(){
var level = "";
for(let i = 0; i < 3; i++){
if(this.moneySpent[i] >= 1000){
level = "super";
}else if(this.moneySpent[i] >= 500 && this.moneySpent[i] < 1000){
level = "good";
}else{
level = "potential";
}
console.log(level + " customer for " + "product" + (i+1));
}
}
};
var customer1 = Object.create(customer);
customer1.firstname = "First1";
customer1.lastname = "Last1";
customer1.moneySpent = [1080.89, 783.23, 68.09];
console.log(customer1.getLevel());
解决方案
因为你 console.log() 使用了两次。它应该更正如下
var customer = {
firstname: "",
lastname: "",
moneySpent: [],
getTotal: function(){
var sum = 0;
for(let i = 0; i < 3; i++){
sum += this.moneySpent[i];
}
return sum;
},
getLevel: function(){
var level = "";
for(let i = 0; i < 3; i++){
if(this.moneySpent[i] >= 1000){
level = "super";
}else if(this.moneySpent[i] >= 500 && this.moneySpent[i] < 1000){
level = "good";
}else{
level = "potential";
}
console.log(level + " customer for " + "product" + (i+1));
}
}
};
var customer1 = Object.create(customer);
customer1.firstname = "First1";
customer1.lastname = "Last1";
customer1.moneySpent = [1080.89, 783.23, 68.09];
customer1.getLevel()
推荐阅读
- bash - 如何将 CSV 文件从一个 bash 脚本中分离出来
- kubernetes - 通过入口控制器访问服务时,x-b3-sampled 标头始终设置为 0
- reactjs - 单击按钮时如何应用ag-grid自定义过滤器
- powershell - 递归计算子文件夹中的文件 - 后续问题
- css - 启动安装了卷的 docker 容器后如何保留已编译的文件?
- python - 使图像边缘平滑
- ios - 如何使用深度链接重新启动应用程序(显示登录页面)?- iOS
- amazon-s3 - 亚马逊AWS | 从 SFTP 拉取数据
- ios - 调用完成事务后,SKPaymentTransaction 卡在队列中
- r - 转换成 pdf 问题 'pdflatex' 不可用