모두가 나에게 합리적인 것처럼 보이지만 어떻게 든 내 변수가 비어있는 상태로 유지되기 때문에 이것이 범위 문제인지 확실하지 않습니다.내 변수가 비어있는 이유는 무엇입니까?
나는이 두 가지 유사한 코드를 리팩토링하고 기능을 추가하려고합니다. 코드가 내 요구에 완벽하게 작동하지만 리팩토링을 시도하면 변수가 계속 비어있게됩니다.
나를 도와 줄 수 있습니까?
이
이 내가 노력하고 도움을 사전에 빈 문자열을 나에게var productOutOfStock = "";
var productOffline = "";
function getProductNames(offOrNostock, nameList){
offOrNostock.each(function(){
var message = $(this).text();
var productName = $(this).closest(".basket-items").find(".product-name").text();
if(message != ""){
nameList += productName + "<br>";
}
});
console.log(nameList); //this does show the names
}
getProductNames($(".availability.outofstock"), productOutOfStock);
getProductNames($(".availability.instock"), productOffline);
console.log(productOutOfStock); //this is giving me empty string
감사를 제공하고있는 리팩토링이다
var productOutOfStock = "";
$(".availability.outofstock").each(function(){
var outOfStockMsg = $(this).text();
var name = $(this).closest(".basket-items").find(".product-name").text();
if(outOfStockMsg != ""){
productOutOfStock += name + "<br>";
}
});
var productOffline = "";
$(".availability.instock").each(function(){
var outOfStockMsg = $(this).text();
var name = $(this).closest(".basket-items").find(".product-name").text();
if(outOfStockMsg != ""){
productOffline += name + "<br>";
}
});
잘 작동 내가 가지고있는 두 개의 유사한 코드입니다.
가능한 중복 (http://stackoverflow.com/questions/17382427/are-there -pointers-in-javascript) –