본문 바로가기
반응형

javascript7

변수 메모리 할당 (간단 정리) 메모리 할당 프로그램이 실행되어 메모리에 올라갈때는 해당 프로그램이 사용가능한 메모리 영역을 os로 부터 할당 받는다. 할당 받은 메모리는 크게 4부분으로 나뉜다. 데이터 영역 코드 영역 스택 영역 힙 영역 데이터 영역 상수 값, 정적 변수, 글로벌 변수 등이 할당, 선언된다. 프로그램의 실행과 함께 메모리위에 올라가고, 종료와 함께 메모리에서 해제된다. 그렇기 때문에 정적 변수에 메모리가 큰 값을 할당하는 걸 조심해야 한다. 코드 영역 프로그램의 코드(명령어)가 저장된 공간이다. 해당 명령어를 통해 프로그램의 실행이 제어 된다. 스택 영역 함수 실행시 해당 영역에 필요한 메모리가 할당된다. 함수 내 지역변수, 매개변수, 함수 리턴값 등이 메모리 위에 올라간다. 함수 종료시 해당 영역은 해제되며 재귀 함.. 2023. 7. 31.
javascript 변수 관련 간략정리 (변수, 스코프, 호이스팅, 클로져, 함수, 즉시 실행 함수) 이력서에 " js 써봤다" 혹은 "쓸 줄 안다."라고 적으면 물어보는 것들이 있는데 여러 번 질문받았던 변수 관련 개념들에 대해 정리해 봤다. (js에 대해 잘 모른다고 답변했음에도 불구하고! 매번 물어보는!!) 변수 변수는 값을 저장하는 메모리 공간! 크게 3가지의 상태로 나타남 1. 선언 변수를 정의 (정보를 담을 공간을 정의) let variable; 2. 초기화 선언된 후, 값을 넣어 정의 (공간을 만들고, 공간에 정보를 집어넣기) let variable = "hello world"; 3. 할당 코드가 실행될 때 (run) 메모리 위에 변수 공간이 지정된 상태 스코프(scope, 범위 혹은 그냥 스코프) 변수의 유효한 범위 해당 변수를 사용할 때 접근이 가능한 범위라고 해석하면 문제없을듯하다. 변.. 2023. 6. 14.
[18, 9].sort() = [18, 9] javascript sort weird... [18,9]를 sort 하면 어떻게 될까? array에 많이 들어있지도 않다. 숫자는 딱 2개… 겨우 단 2개… 컴퓨터를 사용하지 않고도, 심지에 이제 막 숫자를 배우기 시작하는 어린아이에게 18이 큰지, 9가 큰지 작은 숫자 순서대로 줄을 세워볼까? 라고 물어보면 단번에 답을 내릴 수 있는 아주 쉬운 문제다. 그런 줄 알았다. 단, javascript에게만 빼고 말이다…. 진짜 이게 무슨 말도 안 되는… 자.. 자.. 진정하고 가끔 그런 게 있을 수 있다. (아니 말도 안 되지만) 숫자라고 안 받아들이고 문자로 바꿔서 그런 거 아닐까? 제대로 정렬하기 위해서는 sort function의 인자값으로 내가 정의한 compare function(비교 함수)을 넣어줘야 한다. 아래와 같이 말이다. [18, 9.. 2023. 5. 4.
Identifier '변수' has already been declared check 이번에 js 코딩하면서 새로 발견한 오류와 그에 대한 해결책에 대해서 써보려 한다. 내가 만난 문제는 let을 중복 선언하게 되면서 let으로 선언한 변수가 재 선언될 수 없다는 에러 표시를 만났었다. Identifier '변수' has already been declared check @@: 아니 당연히 중복으로 선언하면 안 되지;; 당연히 알고 있다. 하지만 상황은 이랬다. html 안에 탭을 선택하면 서버에서 html을 불러와 내부에 넣게 되는데, 이때 삽입되는 html이 가지고 있는 js 파일 내 변수명과 외부에 이미 선언된 html 간의 let이 충돌하는 문제였다. 문제를 재연하기 위해 간단하게 만들어 보았다. index.html 간단하게 html(index.html)을 만들었다. 본인이 실행하.. 2023. 4. 3.
날짜 계산 [날짜 간 차이, 주(week) 계산, 날짜 더하기 빼기] 주먹구구 js 코딩~ 할 때마다 찾아보는 듯해서 어딘가 정리해 놓기... (아마 점점 추가하지 않을까...?) 날짜 객체 생성 const date = new Date(); 날짜에 상수 더하기 빼기 let date = new Date("2023-03-14"); console.log(date); // 2023-03-14T00:00:00.000Z let plus_day = new Date(date.setDate(date.getDate() + 1)); console.log(plus_day); //2023-03-15T00:00:00.000Z let minus_day = new Date(date.setDate(date.getDate() - 2)); console.log(minus_day); //2023-03-13T.. 2023. 3. 24.
.has is not a function 오늘의 error log 받아온 json은 js 내 에서 .has() 로 항목 조회 시 에러 발생 .has is not a function… 왜냐면... has는 set 객체 함수이니까!! 없지!! 나는 .hasOwnProperty(항목명) 함수로 해결~ ref) https://stackoverflow.com/questions/20804163/check-if-a-key-exists-inside-a-json-object Check if a key exists inside a JSON object amt: "10.00" email: "sam@gmail.com" merchant_id: "sam" mobileNo: "9874563210" orderID: "123456" passkey: "1234" The abo.. 2023. 2. 27.
mousedown 과 checkbox 별거 아닌 거 같지만 정리하면 좋을 것 같아서 남겨본다. 상황은 이렇다. html table 의 row를 클릭하면 해당 row의 존재하는 checkbox가 클릭되는 경우를 javascript+jquery로 구현하고자 했다. 간단한 table 과 js 함수를 구성해보자 check column1 column2 hoonzi blog 해당 html의 결과는 이렇게 보인다. 여기서 나는 checkbox 이외의 hoonzi 혹은 blog를 클릭하더라도 같은 row상에 존재하는 checkbox가 체크 되었으면 한다. js 이벤트 함수를 짜 준다. $("#table tbody tr").on("mousedown", function() { let checkbox = $(this).find("input[type='check.. 2022. 1. 18.
반응형