0
내 배경이 C++이고 오브젝트와 함께 작동하는 것으로 보이는 부분이 Javascript와 매우 다릅니다. C++에는 아래의 Pair 객체와 같은 Pair 객체가 있습니다. 그러나이 수업은 내가 의도 한대로 작동하지 않습니다. Javascript에 대한 잘못된 접근 방식 일 것입니다. 내 궁극적 인 목표는 key1 = val1; key2 = val2; key3 = val3; 문자열을 구문 분석하는 것입니다. 연관 배열로. 그래서 그것에 대한 모든 정보가 도움이 될 것입니다. 하지만 내 첫 번째 문제는 아래의 Pair 클래스입니다. 어떤 도움을 많이 주시면 감사하겠습니다.이 Pair 클래스가 예상대로 작동하지 않는 이유
<html>
<head>
<title>my title</title>
<script type="text/javascript">
//Pair class - doesnt seem to work
function Pair(key, value) {
this.key = key;
this.value = value;
}
Pair.prototype.Key = function() { return this.key; }
Pair.prototype.Value = function() { return this.value; }
function getValueAndKey(text, splitter) {
//Pair pair = {};
if(text) {
var delim = typeof splitter !== 'undefined' ? splitter : '=';
var delimpos = text.indexOf(delim);
if(delimpos != -1) {
var strkey = text.substr(0, delimpos);
var strvalue = text.substr(delimpos+1);
return Pair(strkey, strvalue);
}
}
return null;
}
function doIt() {
function Options(sourceString) {
this.source = sourceString;
//populate key/value pairs from source string
var vars_array = sourceString.split(";");
for(var i = 0; i < vars_array.length; ++i) {
//alert("adding vars_array[" + i + "] = " + vars_array[i]);
var pair = getValueAndKey(vars_array[i]);
if(pair) //pair is ALWAYS undefined :(
alert("key=" + pair.Key() + " value=" + pair.Value());
}
}
//exercise class
var sourceString = "cat=Cookie;legs=4;favouritefood=lamb;type=Siamese;";
var opts = new Options(sourceString);
}
</script>
</head>
<body onload="doIt();">
some test program
</body>
</html>
문제를 해결하기 위해 수행 한 조치에 대해 설명해 주시겠습니까? – JJJ
예 편집에 사용했습니다. –
새 항목없이 개체를 만들 수 있기 때문에 Javascript가 혼란 스럽습니다. 감사. 그리고 Pair 멤버들에게 편집을 보았습니다. 다시 한번 감사드립니다. –