위 코드에서 externalVariable은 external.js 파일에서 정의되었으며, index.html 파일에서 src 속성을 사용하여 해당 파일을 불러왔습니다. index.html 파일 내부의 태그에서는 externalVariable을 사용할 수 없지만, var localVariable = externalVariable;와 같이 다시 정의하여 사용할 수 있습니다. 이후 console.log(localVariable);을 실행하면, "Hello, world!"가 출력됩니다.
1. JavaScript 코드는 밑에 짜야한다. 자바스크립트는 html 조작하는 언어라고 했다. 근데 조작할 html이 위쪽에 있어야 조작이 잘 된다. 자바스크립트를 조작할 html 위에 작성하면 안된다. 왜냐하면 컴퓨터가 html 파일을 읽을 때 위에서 부터 한줄씩 차례대로 읽는데 미리 html을 읽어놔야 조작이 가능하기 때문이다. 2. 오타주의 Cannot read properties of null ~~~ 은 style 왼쪽에 작성된게 null이라 읽을 수 없다는 에러이다. ~~~ is not a function 은 함수명이 잘못되었다는 뜻이다. getElementById() 이것도 소괄호 붙는거 보니까 함수인데 여기에 오타났다는 뜻이다. 에러 메시지는 오타났다고 알려주는 고마운 메세지니까 이거 보고..
remove라는 메서드를 만들었다. 배열 요소에서 지우고싶은 숫자를 인수로 넣으면 제거된 배열이 출력되는 메서드이다. 문제발생 : [1,3,3,3,5] 와 같이 연속된 숫자가 잘 제거가 안되는 버그가 발생했다. 하나하나 디버깅 해본결과 splice를 하면 배열 요소가 지워지면서 다음 조건에 만족하는 num의 인덱스까지 같이 바껴서 그런것이었다! 해결방법 : index라는 변수를 선언해 업데이트 되는 배열의 인덱스를 다시 재할당해주는 방식으로 해결했다. Array.prototype.remove = function (num) { for(let i = 0; i < this.length; i++) { let index = this.indexOf(num); if(this[index] === num) { this...