Thắc mắc về undesigned và null Javascript
E có 1 chương trình Javascript định dạng lại chuỗi như sau :
function toWeirdCase(string){
//TODO
var a = string.split("");
var l = string.length, i, j;
for(i = 0; i < l; i++)
{
for(j = 0; a[i] != ’ '; ++j,++i)
{
if(j%2 === 0) a[i] = a[i].toUpperCase();
else a[i] = a[i].toLowerCase();
}
}
return a.join("");
}
thì nó báo lỗi là : Cannot read property ‘toUpperCase’ of undefined.
E phải thêm dòng if(a[i+1] == undefined) break; sau đoạn if(j%2 === 0) a[i] = a[i].toUpperCase();
else a[i] = a[i].toLowerCase(); mới ra kết quả. Ai giải thích hộ e chỗ này vs : Vs phân biệt hộ e FALSE Undesigned 0 space NULL( bị loạn mấy cái này). Hoặc ai có cách nào giải bài trên hay hơn thì chỉ e luôn đề bài là lập hàm định dạng lại chuỗi string cho sẵn, lập chỉ mục các từ trong chuỗi, chuỗi ở vị trí chẵn viết hoa, lẻ viết thường, gặp khoảng trắng thì lập chỉ mục lại từ đầu vd Abc -> AbC, Abc d -> AbC D, Abcd ef -> AbCd Ef. thanks all
Lỗi “Cannot read property ‘toUpperCase’ of undefined” là do trong vòng lặp thứ 2, biến i đã tăng vượt ra ngoài mảng (lớn hơn biến l). Vd: debug với string = Abc d sẽ thấy ngay.
Còn lỗi “Undesigned 0 space NULL” thì khi nào bị?
Cái đó ko phải lỗi mà mình đang nhờ phân biệt mấy kiểu dữ liệu là Undesigned 0 space NULL
Vậy là bạn muốn phân biệt: Undesigned (hay là Undefined?) - 0 space (đây là cái gì vậy, chưa nghe bao giờ ) và Null?