1
我有3個按鈕,串連輸入文本是不同的:重構代碼 - 變量範圍
var myTxtArea = document.getElementById('KWarea');
myTxtArea.value = myTxtArea.value.replace(/^\s*|\s*$/g, '');
var lines = $('#KWarea').val().replace(/\*/g, '').split('\n');
$('#produce').click(function() {
var endString = "";
myTxtArea.value = myTxtArea.value.replace(/^\s*|\s*$/g, '');
var lines = $('#KWarea').val().replace(/\*/g, '').split('\n');
for (var i = 0; i < lines.length; ++i) {
endString += '"*' + $.trim(lines[i]) + '*"' + ',' + '"* ' + lines[i] + ' *"' + ',';
// console.log(lines[i]);
}
var trimmedStr = endString.slice(0, -1);
$('#result1').html("ctx.keywords MATCHES (" + trimmedStr + ")");
$('#Strlength').html('Total string length: ' + trimmedStr.length);
});
$('#produce2').click(function() {
var endString = "";
for (var i = 0; i < lines.length; ++i) {
endString += '"*' + $.trim(lines[i]) + '*"' + ',';
}
var trimmedStr = endString.slice(0, -1);
$('#result1').html("ctx.keywords MATCHES (" + trimmedStr + ")");
$('#Strlength').html('Total string length: ' + trimmedStr.length);
});
$('#produce3').click(function() {
var endString = "";
for (var i = 0; i < lines.length; ++i) {
endString += '"' + $.trim(lines[i]) + '"' + ',';
}
var trimmedStr = endString.slice(0, -1);
$('#result1').html("ctx.keywords MATCHES (" + trimmedStr + ")");
$('#Strlength').html('Total string length: ' + trimmedStr.length);
});
我想避免重複反覆執行以下操作:
$('#result1').html("ctx.keywords MATCHES (" + trimmedStr + ")");
$('#Strlength').html('Total string length: ' + trimmedStr.length);
但是trimmedStr
取決於endString
和我不能重構沒有結束一些var undefined
非常感謝
你爲什麼不乾脆爲那些2線分開的功能? – filipvkovic
如果這是您想要改進的建議的工作代碼,那就是http://codereview.stackexchange.com的用途。 – jfriend00
.click()中的函數name(){/ *代碼* /}和調用name()不起作用 - > var undefined。如果我做錯了什麼,請編輯我的小提琴:) – Andrejs