【发布时间】:2021-11-30 14:06:34
【问题描述】:
这是问题陈述。我正在尝试查找网页上的所有商品,并使用赛普拉斯找到价格最低的商品。问题是,只要我在内部函数中,minPrice 是正确的。但是,当我尝试在外部函数中打印 minPrice 时,minPrice 再次被分配给它的外部范围值。我对 JS 相当陌生,所以看起来我在这里缺少一些基本的 JS 概念。我尝试了很多东西,比如变量作用域、异步/等待(赛普拉斯声称它不需要),但没有成功。请帮忙!
下面是代码。
getMinPrice(){
//Initialize to a very big number
var minPrice = 10000;
cy.get('.btn.btn-primary').each(function ($el, index,$list) {
//For each element, do some parsing to get the price for the item
var textToParse = $el.attr('onclick');
var price = textToParse.slice(-4,-1);
price = parseInt(price,10);
//compare price with current MinPrice
if (price < minPrice)
minPrice = price;
});
cy.log(minPrice); // Logs 10000 which is not what I am expecting
}
【问题讨论】:
-
感谢您的回复。下面的@alapan 为我解决了这个问题。将详细阅读文档
标签: javascript cypress