티스토리 뷰
문자열과 숫자
문자열 관련 메소드(내장함수)
- toUpperCase() : ()안의 문자열을 대문자로 변환한다.
- toLowerCase() : ()안의 문자열을 소문자로 변환한다.
- indexOf() : ()안의 요소가 해당 문자열의 몇번 째 인덱스에 존재하는지 출력한다.
- lastIndexOf() : ()안의 요소가 해당 문자열에서 뒤로부터 몇번 째 인덱스에 존재하는지 출력한다.
- substring() : substring(시작인덱스), substring(시작인덱스, 개수) : 문자열을 파싱해준다.
- split() : () 안에 존재하는 기준으로 문자열을 잘라준다.
<body>
<h1>문자열과 숫자</h1>
<h3>문자열 관련 메소드(내장함수)</h3>
<button onclick="stringMethod();">문자열 처리 메소드</button>
<div id="area1" class="area big"></div>
<script>
function stringMethod(){
var str1="hello World";
var area1 = document.getElementById("area1");
area1.innerHTML="str1 : "+str1+"<br>";
area1.innerHTML+="toUpperCase(): "+str1.toUpperCase()+"<br>";
area1.innerHTML+="toLowerCase(): "+str1.toLowerCase()+"<br>"; //j)()괄호는 함수일때만
area1.innerHTML+="문자열의 길이 : "+str1.length+"<br>"; //j)length는 속성이라 ()안함
for(var i=0; i<str1.length; i++){
area1.innerHTML+= i+"번째 인덱스 "+str1.charAt(i) +"<br>";
}
area1.innerHTML +="앞에서부터 첫 l의 인덱스 : "+str1.indexOf("l")+"<br>";
area1.innerHTML +="뒤에서부터 첫 l의 인덱스 : "+str1.lastIndexOf("l")+"<br>";
area1.innerHTML +="앞에서부터 첫 g의 인덱스 : "+str1.indexOf("g")+"<br>";
//해당 문자가 없는 경우 -1을 반환한다.
area1.innerHTML +="substring(시작인덱스) : "+str1.substring(6)+"<br>";
area1.innerHTML +="substring(시작인덱스,개수) : "+str1.substring(0,2)+"<br>";
var str2 ="사과,바나나,키위,딸기,체리,블루베리";
let fruits=str2.split(",");
area1.innerHTML += "fruits : "+fruits+"<br>";
area1.innerHTML += "fruites의 자료형 : "+typeof(fruits)+"<br>";
for(var i=0; i<fruits.length; i++){
area1.innerHTML += "fruits "+i+"번째 인덱스 :"+fruits[i]+"<br>";
}
console.log(fruits);
}
</script>
숫자(수학) 관련 메소드(내장함수)
특이상황 : 모든 메소드는 Math 객체에서 받아와 사용한다
- abs() : 절대값
- random() : 난수 발생
- round() : 반올림
- floor() : 소수점 버림
- ceil() : 반올림
- sqrt() : 제곱근
<script>
function mathMethod(){
let area2=document.getElementById("area2");
//Math 내장 객체를 제공
area2.innerHTML+="절대값 : "+Math.abs(-55)+"<br>";
area2.innerHTML+="랜덤값 : "+Math.random()+"<br>"; //0.0이상 1.0미만의 수를 반환
area2.innerHTML+="반올림 : "+Math.round(123.532)+"<br>";
area2.innerHTML+="버림 : "+Math.floor(123.222)+"<br>";
area2.innerHTML+="올림 : "+Math.ceil(22.66)+"<br>";
area2.innerHTML+="제곱근 : "+Math.sqrt(4)+"<br>";
}
</script>
문자열과 숫자간의 산술연산
특이상황 : 문자열에 숫자만 존재하면 자동으로 숫자가 되어 연산된다.
강제형변환(문자열 -> 숫자)
- Number(문자열)
- paresInt(문자열)
- parseFloat(문자열)
<script>
function arithmethic(){
let test1 = 7+7; //14
let test2 = 7+"7"; //77
let test3 = "7"+7; //77
let test4 = "7"+7+7; //777
//그 외의 산술연산
//문자열이 자동형변환으로 숫자가 되어 연산된다.
//단,문자열에 숫자만 있어야 한다.
var test5 = "7"*7; //49
var test6 = "7"-7; //0
var test7 = "7"/7; //1
area3.innerHTML+="test5 : "+test5+"<br>";
area3.innerHTML+="test6 : "+test6+"<br>";
area3.innerHTML+="test7 : "+test7+"<br>";
//강제형변환 (문자열 -> 숫자)
//Number(문자열)
//parseInt(문자열)
//parseFloat(문자열)
let iNum=2; //숫자
let sNum="3"; //문자열
let test8 = iNum + sNum;
let test9 = iNum + Number(sNum);//문자열에 숫자만 있어야 처리가능 문자가 있으면 (NaN not a number)
let test10 = iNum + parseInt(sNum); //문자와 같이 있다면 앞에 있는 숫자만 숫자로 처리됨 중간에 숫자가 있으면 처리불가
let test11 = iNum + parseFloat(sNum);
area3.innerHTML+="test8 : "+test8 + "<br>"; //2+"3"=23
area3.innerHTML+="test9 : "+test9 + "<br>";
area3.innerHTML+="test10 : "+test10 + "<br>";
area3.innerHTML+="test11 : "+test11 + "<br>";
const fNum = "15.23";
const test12 = iNum+fNum; //215.23
const test13 = sNum+fNum; //315.23
const test14 = iNum+Number(fNum); //17.23
const test15 = iNum+parseInt(fNum); //17
const test16 = iNum+parseFloat(fNum); //17.23
area3.innerHTML+="test12 : "+test12 + "<br>";
area3.innerHTML+="test13 : "+test13 + "<br>";
area3.innerHTML+="test14 : "+test14 + "<br>";
area3.innerHTML+="test15 : "+test15 + "<br>";
area3.innerHTML+="test16 : "+test16 + "<br>";
}
</script>
'Front > Js' 카테고리의 다른 글
JavaScript(함수) (1) | 2022.09.23 |
---|---|
JavaScript(배열) (1) | 2022.09.22 |
JavaScript(변수와자료형) (4) | 2022.09.21 |
JavaScript(요소가져오기) (2) | 2022.09.21 |
JavaScript(데이터입출력) (5) | 2022.09.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크