[음악 재생] DOUG 로이드 : 지금 쯤 우리는 늙었 웹 프로그래밍에서 프로, 오른쪽? 그리고 우리는 몇 가지 다루었 개별 동영상의 언어. 그리고 이제 한 번 더, 자바 스크립트를 할 수 있습니다. 먼저 좋은 소식, 자바 스크립트 현대 프로그래밍입니다 그 PHP와 같은 많은 언어 구문, C에서 파​​생 그래서 시작하기에 좋은 장소입니다. 그것은뿐만 아니라, PHP와 같은 오래된 관하여 약 20 년 주위에 있었던 것. 그것은 주위에 발명되었다 PHP과 동시에. 그리고 자바 스크립트는 꽤 실제로 사용자 경험의 기초 웹의. 사실, 거기에 3 개 국어가 나는 메이크업 종류의 말을 상호 작용하는 사용자 경험 웹 사이트와, HTML CSS, 자바 스크립트. 그래서 지금의이 이야기하자 자바 스크립트에 대한 약간. 나쁜 소식은, 그러나,와 자바 스크립트입니다 그 자체의 규칙을 많이 설정하는 것을, 다음은 그들을 파괴. 그리고 자바 스크립트를 실제로 할 수있다 가지 배우고 도전, 그것은 C와 달리 때문에과 아주 구성되어 PHP, 매우 엄격한 규칙을 가지고 사물이 작동 할 수있는 방법에 대해. 자바 스크립트는 종류가 너무 유연 받고 어쩌면 것들에 갈 수 없습니다 우리에게 기대하는 방식으로 작동 어쩌면 우리가 정말 배울 수 우리의 첫 번째 프로그래밍 언어 자바 스크립트로. 그래서 어쩌면하지 않기 때문에 스스로 어떤 규칙 설정, 그것은 정말하지 않습니다 좋은 코딩 습관을 적용합니다. 하지만 지금 우리는 희망을 개발 한 좋은 코딩 습관, 그래서 우리는 침략을 시작할 수 있습니다 자바 스크립트로 조금. 개방과 유사한 자바 스크립트를 작성하려면 점 C의 확장자를 가진 C 파일을 백업 또는 도트 PHP 확장과 PHP 파일, 우리가해야 할 모든 파일을 열 수 있습니다 닷 JS 파일 확장자. 우리는 어떤 특별한을 할 필요가 없습니다 우리 같은 구분 기호는 PHP로했다. 각도의 종류 브래킷 물음표 PHP 우리는 그에서, 방법을 사용하고 있는지 우리가 무엇인지 우리는 우리의 브라우저에게 자바 스크립트가 포함입니다 HTML 태그의 그것, 우리는에 대해 조금 볼 수 있습니다 어떻게 그냥 순간에 그렇게 할 수 있습니다. 하게 다른 것은 다른 자바 스크립트, 하지만,이 클라이언트 측을 실행한다는 것입니다. 그래서 PHP로 불러 그 우리는 정말 볼 수 없었다 웹 사이트를 밑줄 PHP. 우리가 이제까지 볼 경우 페이지 소스, 우리는 것 이었다 HTML을 참조 그 PHP에 의해 생성. 하지만 자바 스크립트는 클라이언트 측을 실행합니다. 자바 스크립트는 컴퓨터에서 실행됩니다. 당신이 할 수있는 이유입니다 가지 차단제를 추가 좋아한다. 권리? 광고 차단은 일반적으로 이루어집니다 자바 스크립트의 모든 사망 즉, 특정 웹 사이트에서 실행되고 있습니다. 그리고 그것은해야하기 때문에 기기의 클라이언트 측에서 실행 당신은 단지를 중지 할 수 있습니다 완전히 실행하기위한 자바 스크립트. 그것은 또한 당신이 사용하는 경우 있음을 의미 자바 스크립트를 포함하는 웹 사이트, 당신은 자바 스크립트 소스를 보낼 수 있습니다 당신의 HTTP 응답의 일부로서 코드 클라이언트에 그들은 그것을 요​​청할 때. 그래서 당신은 할 수도 자바 스크립트를 사용하려면 정말 중요한 일을 할 전달하는 정보 등 사용자의 암호가 백업에 대한과 앞으로, 때문에 그들은 실제로있어 모든 소스 코드를 수신하는 것, 생성뿐만 아니라 HTML, 같은 말 PHP의 경우 것 같은. 어떻게 할 우리는 자바 스크립트를 포함 우리의 HTML에서 시작 하는가? CSS와 유사한, 음, 사실, 우리가 여기에서 그것을 할 방법의 일종이다. CSS로 우리는 스타일 태그가 있습니다. 그리고 그 스타일 태그의 내부, 우리는 CSS 스타일 시트를 정의 할 수 있습니다. 마찬가지로 자바 스크립트와 우리는 스크립트 태그를 열 수 있습니다, 다른 HTML 태그 우리는하지 않았다 우리의 HTML 비디오에 대한 이야기​​, 과에서 JavaScript를 쓰기 그 스크립트 태그 사이. 또한, 비록 같은 CSS, 우리 CSS 파일 외부에서 링크 수 우리의 프로그램 방식으로 그들을 끌어. CSS로 우리는 또한 수 자바 스크립트, 실례 우리는 또한 소스를 지정할 수 있습니다 스크립트 태그의 속성 자바 스크립트에 연결하려면 별도로, 그래서 당신은하지 않습니다 그것을 작성해야 스크립트 태그 사이에, 우리 사용에 연결할 수 있습니다 해당 스크립트 태그뿐만 아니라. 그리고 단지 CSS 곳의 경우와 같이 우리는 아마 것을 권장 당신의 최선의 이익에 쓰기 경우에 별도의 파일에서 CSS 당신은 그것을 변경해야합니다, 마찬가지로 우리가 추천 할 당신은 당신의 작성하는 것이 별도의 파일에 자바 스크립트 및 스크립트 태그 소스를 사용 자바 스크립트를 연결하는 속성 당신의 HTML, 웹 페이지에. 그래서 자바 스크립트 변수, 우리는거야 여기 구문에 대해 이야기를 시작. 그리고 우리는 통과합니다 빨리 이런 종류의, 우리는 그래서, PHP에서 이런 짓을했기 때문에 이 모든 꽤 잘 알고 있어야합니다. 그래서 자바 스크립트의 변수는 변수를 PHP와 매우 유사. 아무 유형 지정은 없다, 그리고 당신은 변수를 소개 할 때, 당신은 var 키워드로 접두사. PHP에서 우리는 뭔가를 할 것입니다 이 같은, 달러 기호 X. 우리가 표시하는 방법 때문이다 변수가 있지만, 우리 형을 언급하지 않는다 변수의 모든. 우리는 같은 것을 말할 것입니다 달러 기호 X는 PHP로 (44)와 동일합니다. 우리가 일을한다면 자바 스크립트에서 같은 일, 우리는 VAR X가 (44)와 동일 말할 것입니다. 그래서 VAR는 우리의 방법의 일종이다 변수를 도입. 그건 아마도 좀 더 직관적 다만 달러 기호 변수보다. 다시 말하지만,이 이후 더 데이터 형식, 우리는이 작업을 수행 할 수 모든 데이터 유형, 문자열, 아무것도 모든 VAR이 될 것이다. 의 조건문, 우리의 모든 C와 PHP에서 옛 친구 계속 사용할 수 있습니다, 그래서 우리는 경우가, 다른 경우, 다른 스위치 및 질문 마크 대장. 그만큼 유연한 나머지 스위치 PHP에서,하지만 당신이있어이 모든 지금 쯤은 잘 알고. 그리고 루프는 유사와 함께 동안의 오래된 즐겨 찾기, 동안을, 우리에게 여전히 사용할 수 있습니다. 그래서 이미 우리는 많이 알고 기본의 기본 자바 스크립트 정렬 다만 꽤 갖는 미덕으로 현재 C와 PHP에 관한 지식. 무엇 자바 스크립트의 기능에 대한? 음, 비슷한 모든 기능은 PHP로 함수 키워드로 소개했다. 당신은 기능을 말한다, 다음을 함수를 정의하기 시작한다. 조금 다른 무엇입니까 자바 스크립트에 대한, 비록이 할 수있는 기능입니다 무엇은 익명 함수라고. 그래서 당신은 함수를 정의 할 수 있습니다 그 이름이 없습니다. 이것은 뭔가 우리입니다 정말 전에 보지 못했다. 우리는 정말 개념을 사용합니다 익명 함수의 조금 나중에에 비디오, 그것은 것이기 때문에 맥락에서 좀 더 이해 우리는 특정 상황에서 볼 때 것을 나는 여기에 제작했습니다. 그러나 그냥 살펴 보자 무엇 간단한 자바 스크립트에서 기능은 다음과 같을 수 있습니다. 그래서 앞서 갔어요과 내 CS50의 IDE를 열어 나는 이미 아파치를 실행했습니다 내 서버가 실행을 시작합니다. 그리고이 파일이 home.html을 호출 엽니 다. 그리고 난 여기에 조금 확대합니다. 그리고 기본적으로, 당신은 볼 수 있습니다 home.html을이 버튼의 단지 무리입니다. 그리고 여기에 상단에 주장하고있어 이 자바 스크립트 섹션입니다 기재. 그래서 버튼의 무리가 여기에있다, 하지만이 버튼은 실제로 무엇을해야합니까? 글쎄, 우리는 내 IED로 향할 것이다, 나는 여기에 열 home.html을했다. 처음에, 내가 연결 해요 곳 여기입니다 내 자바 스크립트 소스 파일을 모두한다. 권리? 그래서, anonymous.js, clock.js이 나는 소스 속성을 사용하고 있습니다 스크립트 태그의 파일에 링크합니다. 그래서 기록되지 않은 직접이 파일에 자바 스크립트, 하지만 난으로 당겨 한 모든 자바 스크립트 내가 따로 작성했습니다. 그리고 우리는 여기에,이 아래로 스크롤하면 해야 모두가 어느 정도 익숙 새 구문의 작은 비트와 함께. 우리는 헤더 태그 여기 있습니다 함수 및 다음 버튼. 나는 형 버튼의 입력이 분명히 나는​​ 그것을 클릭하면, 나는 몇 가지를 호출하는거야 경고 날짜를 작동합니다. 그리고 이것은 우리가 일종의 혼동 할 수있는 방법이다 자바 스크립트와 HTML의 조금. 그들은 실제로 꽤 멋지게 연주 함께, 따라서 외관상 때 나는이 버튼을, 내가 갈거야을 클릭 일부 기능 경고 날짜를 호출합니다. 그리고 마찬가지로 나는 행동을 정의 다른 버튼의 모든 것을 그 home.html을 페이지에 있습니다, 우리가 반환하겠습니다한다 이 비디오의 과정에. 그러나의가 다시 가자 여기 좀 봐 clock.js에서, 이는이다 자바 스크립트 파일이 나는 첫 번째 기능이 썼다 우리가 살펴 것입니다. 당신이 볼 수 있듯이, 내 자바 스크립트를 시작합니다 키워드 기능 작동, 나는이 한 준 이름, 그것은 경고 날짜라고. 거기의 내부, 나는 분명히을 만들 현재 날짜라는 새로운 지역 변수. 그리고 할당하는거야 새 날짜에 동일한. 그리고 우리는 많은으로 얻을 수 날짜가 무엇인지에 관한 세부 사항, 정말 자바 스크립트는 너무하다 큰 것을 우리는 가능하게 할 수 없습니다 하나의 비디오에서 모든 것을 커버한다. 그러나이가는 말을 충분 데이터 항목 나에게 돌아갑니다 그 현재 날짜와 시간을 캡슐화한다. 나는 난 변수에 그 저장 해요 분명히 현재 날짜를 경고하는 것. 글쎄, 무슨 경고를하지 같은 현재 날짜 있습니까? 의 파일 자체를 살펴 보자 브라우저 창을 통해 백업합니다. 그래서 다시이 버튼은 그 I 이 이름이 지정된 함수에 묶여있다. 그리고 나는 거기를 클릭하고 볼이 무슨 짓을했는지, 그것은 경고. 그것은 이야기 상자 이런 종류의 팝업 나 금회 명백하게이라고 그것은 11 월 4 'S 아침에 10시 43분 43초. 그리고 지금, 다시 클릭하면 그것은 바로, 나중에 몇 초입니까? 그래서이 모든 기능을 수행합니다. 나는이 버튼을 클릭하면, 그것을 나에게 경고 메시지를 나타납니다. 그래서 정말이 아니다 기능에 너무 즉, PHP 다르다 새 구문의 조금 즉, 자바 스크립트 작업이 함께 제공됩니다. 자바 스크립트의 배열은 매우 간단. 배열을 선언하려면 사용 사각 괄호 구문 우리는 PHP에서 잘 알고있다. PHP와 마찬가지로, 우리 또한 데이터 형식을 혼합 할 수 있습니다. 그래서이 배열, 모두 이러한 배열 것 완벽하게 합법적 인 자바 스크립트합니다. 모든 정수의 하나 하나 그 상이한 데이터 유형을 혼합한다. 매우 다른 일이 무엇입니까 자바 스크립트,하지만? 즉, 물체의 개념이다. 그래서 아마 당신은 들었어요 지향 프로그래밍 객체. 우리는 CS50에 많이하지 않는다 그러나 우리는 그것의 약간을 할 것입니다 여기에 자바 스크립트의 맥락에서. 이제 자바 스크립트는 능력이있다 객체 지향 프로그래밍과 같은 행동 언어, 그러나 그 자체는 아니다 독점적 목적은 지향 프로그래밍 언어. 그리고 이것은 다시 온다 다시 내가 그것을했다 이유 배울 매우 어려울 수 있습니다 첫 번째 프로그램으로 자바 스크립트 언어가 없기 때문에 정말 특정 패러다임에 맞게. 반면에, C가 함수형 프로그래밍 언어입니다. 우리가 원하는 경우, 함수는 큰 대장의 종류, 오른쪽? 그들은 지시 무엇 다른 모든 발생합니다. 우리는 변수를 변경하려면, 우리는 함수를 호출. 우리는 기능에 일을. 에 대신 개체 지향 언어를 객체, 종류의 스타가 될 개체 및 기능은 차의 종류가된다. 그러나 객체, 무엇 무엇을 객체의 개념은 무엇입니까? 음, 도움이된다면, 생각 첫 번째 정렬에서 그것에 대해 C의 구조 또는 구조체 등에 것을 우리는 이전에 대해 배웠다. C에서, 구조 포함 다수의 필드, 어쩌면 우리는 지금에 시작될 수 있습니다 이 필드 속성을 호출합니다. 그러나 속성 결코 정말 바로, 자신에 서? 나는 차를위한 구조를 정의하는 경우 두 가지를 다음과 같습니다 : 필드 또는 속성, 하나 자동차의 올해의 정수 다른 10 자 자동차의 모델에 대한 문자열 나는 이런 식으로 뭔가를 말할 수있다 나는 새로운 변수를 선언 할 수 있습니다 형 구조체 자동차 허비의. 그리고 내가 뭔가를 말할 수있다 같은 herbie.year, 1963과 동일 그리고 herbie.model는 비틀 같습니다. 괜찮아요. 나는의 필드를 사용하고 있습니다 구조의 맥락 하지만 난 그냥 결코 할 수 이 같은 것을 말한다. 권리? 나는 필드 이름을 사용할 수 없습니다 구조와 무관. 그것은 근본적인 물건의 종류입니다. 필드되고 그래서 C 구조에 근본적인 특성이있는 매우 유사하다 자바 스크립트 객체에 대한 기본. 하지만 그들을하게 특히 흥미로운 객체는 무엇을 할 수 있다는 것입니다 정말 불리는 방법, 기능에 대한 그냥 멋진 단어 그 개체에 대한 고유뿐만 아니라입니다. 이 기능을 그래서 만 할 수 개체의 컨텍스트에서 호출. 정의 만 객체 그 내부에이 기능을 당신이 생각하는 경우 구조체, 함수 정의 그 안에 정의 구조의 중괄호. 그래서 만 것을 의미 구조. 그리고 우리가 무슨 일을하는지의 일종 여기에 개체 및 방법. 우리가있는 것처럼 그것은 기본적이다 함수를 정의하는 것 만에 의미가 있습니다 특정 객체, 그리고 우리는 개체의 메서드 것을 호출합니다. 그리고 우리는 그것을 호출 할 수 없다 객체의 독립적 인 기능, 우리는 년 모델 말할 수 없다처럼 C에서 구조체의 독립 그래서 함수형 프로그래밍 패러다임이 같은 모양. 기능 및 다음 통과 할 때 매개 변수로 객체. 객체 지향 프로그래밍 언어,이 종류의 도착 이성을 상실하고, 우리에 대한 생각 그것은, object.function을이를 좋아한다. 그래서 그 점의 그것 종류 운영자는 다시 의미 그것은 재산의 어떤 종류의 것이 또는 객체 자체의 속성. 그러나 이것은 무엇을 목적으로한다 지향 프로그래밍 언어 함수를 만들기 위해 할 수 있습니다 다시, 방법에 부른다 다만 특별한 단어 기능입니다 즉, 객체에 고유하다. 이것은 그 무엇이다 구문은 다음과 같을 수 있습니다. 그래서 우리는 몇 가지를보고 시작합니다 자바 스크립트의 맥락에서이. 또한 객체에 대해 생각할 수있는 종류의 연관 배열처럼, 우리는 PHP에서 잘 알고있다. 연관 배열이 허용 기억 미국 대신, 키 값 쌍을 가지고 의 인덱스 0, 하나, 둘, 셋 갖는 우리는 C에서 사용하고 등등처럼 배열. 연관 배열은 매핑 할 수 있습니다 이러한 PHP 비디오에서와 같이 단어, 우리에 대해 얘기했다 피자의 토핑. 그래서 우리는 배열을했다 라는 피자, 그리고 우리 했다 치즈의 핵심이었고, $ 8.99는이었다 값, 다음 페퍼로니은 키이었다, $ 9.99 등의 값이고,. 그래서 우리는 생각 할 수 있습니다 연관에 종류의 유사한 물체 정렬. 여기 그리고이 구문 새 개체를 만들 것 두 호출 허비 그것의 내부 특성. 값 1963을 할당 해, 문자열을 할당 및 모델, 갑충. 그리고 내가 사용하는 것이 여기에 주목 자바 스크립트에서 따옴표. 당신은 작은 따옴표 나 큰 따옴표를 사용할 수 있습니다 때 문자열에 대해 얘기하고. 그것은 단지 종래의 경우는 대부분의 시간 때 자바 스크립트를 작성하고, 당신은 단지 작은 따옴표를 사용합니다. 하지만 여기에 큰 따옴표를 사용하고, 수 그뿐만 아니라 완벽하게 잘 될 것입니다. 어떻게에서 기억 PHP 우리는이 개념을했다 우리를 허용하는 각 루프의 키 값을 모두 반복합니다 연관 쌍 배열, 우리 때문에 반복이 능력을 가지고 있지 않았다 0에서, 하나, 둘, 셋, 넷, 등등? 자바 스크립트는 매우 비슷한있다 하지만, 각 루프라고 아니에요 그것은 루프에 대한을 불렀다. 그래서 내가 좋아하는 나에게 말했다 경우 이 객체에서 VAR 키, 그 말에 일종의 유사 뭔가 각 뭔가. 하지만 여기서 뭐하는거야 모두가 반복된다 내 개체의 모든 키를 통해. 그리고 곱슬의 내부 이 중괄호, 나는 것 참조 객체 대괄호 키를 사용하여 그 키 위치의 값으로 설정합니다. 또한, 거기에 심지어 또 다른 방법. 난 그냥 단지 걱정하는 경우 값은 내가, 개체의 키를 말할 수 있습니다 단지 내부 키를 사용합니다. 그래서 객체의 VAR 키를, 내가 가진 개체 광장 브래킷을 사용하는 루프 내부 키. 객체의 VAR 키, 내가 할 수있는 단지 루프 내부에 키를 사용하여, 난 그냥 특별히이기 때문에 이 값에 대한 이야기​​. 그래서 아마 보자 차이를 보면 그냥 빨리 보여 네 차이점 의 매우 구체적인와과에 대한 우리가 여기 배열, 주 배열입니다. 그래서 새로운 배열을 찾을 수있다 내가 일곱 문자열로 가득 것을, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일, 일요일. 그리고 지금은 반복 할 이 배열을 통해, 특정 정보를 인쇄. 나는 루프를 위해를 사용하는 경우 정보를 인쇄하려면, 당신은 내가받​​을거야 어떻게 생각하십니까? 음, 살펴 보자. 그리고 우리는 이상 점프하기 전에 브라우저 창, 그냥 알고 CONSOLE.LOG는 하나의 일종이다 자바 스크립트에서 인쇄 F를하는 방법. 그러나 콘솔은 무엇인가? 글쎄, 그건 우리가 가고있는 무슨이다 지금에 살펴 이동합니다. 좋아, 그래서 우리는 다시 여기있어 브라우저 창에서, 나는 열거야 내 개발자 도구입니다. 다시 말하지만, 난 그냥 F12 키를 치는거야 개발자 도구를 엽니 다. 그리고 여기에 통지 위에 나는 콘솔을 선택했습니다. 그래서이 개념은 개발자 콘솔, 그것은 우리를 수 정보를 인쇄 종류의 단자와 같은,하지만 나중에 조금 살펴 보 겠지만, 우리는 또한 정보를 입력 할 수 있습니다 우리의 웹 페이지와 상호 작용할 수 있습니다. 나는 여기에 조금 확대거야 나는거야 지금은 시험에 대한 클릭 해요. 그리고 네 test--에서 나는 거 아니에요 지금 당신에게 그것을위한 코드를 보여, 하지만 당신은 그것을 경우 얻을 것이다 당신 소스 코드를 다운로드 할 것을 이 video--와 관련된 그냥 루프 용입니다 우리가 본 것을 단지 두 번째 전 슬라이드. 그래서 나는 거 클릭 해요 그 버튼을 여기에, 여기에서 인쇄 한거야 콘솔, 0, 하나, 둘, 셋, 넷, 다섯, 여섯. 나는 정보를 인쇄하지 않았다 그 배열 위치 내부, 나는 루프에 대한 사용하기 때문이다. 루프의 본체 내부 I 단지 키를 반대하지 키를 인쇄. 그러나 나는 지금 내 콘솔을 취소 한 나는 경우 시험에 대한 전환 및 테스트의 네 나는 루프의 사용 말 대신 키를 인쇄, 나는 그것을 클릭하면, 지금은 받고 있어요 내 객체의 내부 실제 요소 또는이 경우에 내 배열입니다. 주 일 내 배열입니다. 나는 월요일 인쇄 화요일, 수요일. 그래서 차이 사이입니다 에 대한 루프에서, 이는 출력한다 그냥 키를 사용하는 경우 단지 키 루프의 본체의 내부에, 루프, 인쇄를위한 값에서 그냥 사용하는 경우 루프의 본체 내부 키. 좋아, 우리가 어떻게 지금에 시작합니까 문자열을 연결 어쩌면 섞어 보간 일부 변수 같은 우리는 PHP로 할 수 있었습니까? 음, 우리는 꽤 잘 알고 PHP에서이와. 이것은 우리가를 사용하여 작업을 수행하는 방법이다 도트 연산자는 문자열을 연결합니다. 자바 스크립트에서,하지만, 우리가 실제로 뭔가를 사용 더하기 연산자,라고하는 어쩌면 조금 더 직관적 인, 오른쪽? 우리는 무리를 추가하고 문자열 함께. 그래서 다시 머리하자 이상과 어떤이를 참조 우리가 인쇄하려는 경우 인쇄됩니다 주 어레이 내의 모든 정보. 여기에서 너무 좋아, 문자열 연결에서, 나는 두 가지 옵션이 있습니다, 문자열 건물 V1 다음 문자열 건물 V2. 그리고 우리는 그 이유를 볼 수 있습니다 초 (V2)가 필요합니다. 하지만 난거야 클릭 문자열 건물 V1, 어떤 우리가 있었던 코드는 단지에서 살펴 본다, 흑자의 모든과 CONSOLE.LOG. 의이 인쇄되면 보자 우리가 기대 알아. 월요일, 요일 번호 01 화요일 요일 번호 (11)이다. 글쎄, 난 무엇을하려고했다 얻을 수 있었다 수행하는 그것은 월요일 날 번호 인쇄하기 하나는, 화요일 하루 두 번째입니다. 하지만 난 것 같아 항상 하나를 인쇄. 글쎄, 그건 왜? 글쎄, 그것은 밝혀, 또 다른 살펴 여기에 코드의이 작은 조각에서. 우리는 플러스를 사용하고 있는지 확인합니다 두 개의 서로 다른 상황에서 연산자. 그래서 여기 어디 어쩌면 일이다 우리는 종류의 말을 봤는데, 오, 너무 좋아요. 우리는 더 이상 데이터 유형을 처리하지 않습니다. 그러나 여기 어디에 사실 우리는 데이터 유형을 잃게 실제로 비트 될 수 있습니다 우리에게 문제. 이제 더하기 연산자를 사용하는 것이 문자열을 연결하고 번호를 추가 함께, 자바 스크립트가 있습니다 최선의 추측을 만들려면 에 관해서는 나는 나를 위해 수행 할 작업. 그리고이 경우, 잘못된 추측. 그것은 바로 연결된 일이 될 것입니다 0, 하나, 둘, 셋, 넷, 다섯 또는 여섯 다음 그냥 연결된 그와는 다음 중 하나를 연결된. 실제로 함께 추가하지 않았다. 그리고 이러한 언어, PHP와 자바 스크립트, 그 멀리 추상화 유형의 개념, 당신은 더 이상 처리 할 필요가 없습니다. 그들은 여전히​​ 후드 아래 유형이 없습니다. 그리고 우리가 할 수있는 상황에서 이 같은 사실을 활용 무언가를 말하여 어쩌면이 같은있는 으로, 자바 스크립트를 말하고있다 방법은, 정수로이 치료, 심지어 문자열로 취급하지 않습니다 하지만 우리는 함께 문자열을 혼합하고 여기 정수. 그냥 그런 것들 중 하나입니다 이 상황에서 너무 큰 것 같다 우리는 할 필요가 없습니다 더 이상 유형의 처리, 그러나 때때로 당신은거야 상황에 실행 바로이 같은 경우는 사실 그 당신은 유형을 제어 할 수 없습니다 당신에 역화 할 수 있습니다 당신이 조심하지 않으면. 우리는 IDE에 걸쳐 다시 팝업 경우 그래서, 내가 해요 다시는 내 콘솔을 취소 한 것, 내가 문자열을 클릭거야 건물 버전이, 어떤 나는 그 구문 분석 INT 함수를 사용하는 곳입니다. 지금은 밖으로 인쇄하는 것 내가 기대하고있어 정보를 제공합니다. 월요일 하루 번호 일 화요일 그래서 일 두 번째, 그리고이다. 그래서 다시 기능에 대해 이야기 할 수 있습니다. 나는 우리가 익명에 대해 이야기 할 약속 기능, 그리고 이제 컨텍스트 드디어 도착했습니다. 우리가하기 전에 자, 다시 얘기하자 다만 초 배열에 대한. 그래서 배열은 특별하다 객체의 케이스. 사실, 모든 일에 실제로 자바 스크립트 객체이다. 그래서 함수는 객체의 특별한 경우, 정수는 특별하다 목적하는 경우, 하지만 배열 구체적으로 다수의 방법이있다. 그들은 개체이기 때문에 기억, 그들은 속성과 메서드를 가질 수 있습니다. 그들은 다수의 방법이 그 이러한 오브젝트에 적용될 수있다. 라는 방법이있다 크기, array.size, 어떤로 돌아갑니다 당신이 예상대로 배열의 요소 수. 사항 Array.pop, 종류 등 오프 터지는 우리의 개념 스택, 당신은 기억 경우 우리의 스택 비디오에서, 배열의 마지막 요소를 제거합니다. 사항 Array.push는 새로운 요소를 추가 배열 끝에. array.shift 일종이다 DQ처럼, 그것은 밖으로 스플 라이스 어레이의 첫 번째 요소. 그러나 또 다른 특별한 존재 배열의 방법은지도를했다. 그리고 이것은 일종의 흥미로운 개념. 그래서지도의 생각은 무엇인가? 당신은 실제로이를 볼 수 있습니다 여러 다른 언어로, 그리고 우리는 얘기를하지 않을 지도 제작자의 종류, 여기지도 우리는 매핑 기능에 대해 얘기하고. 맥락에서 우리는있어 여기에 대해 얘기,지도 특별한 조작 우리는 배열에서 수행 할 수있는 특정 기능을 적용 해당 배열의 모든 요소에. 그래서 우리는에 말할 것 이 경우는, 어쩌면 사항 Array.map 그리고 그 안에, 우리가 통과하고 지도에 우리가 원하는 기능입니다 모든 단일 소자에인가된다. 그래서 사용하는 종류의 유사한이다 루프는 모든 요소를​​ 반복합니다 특정 적용 모든 요소에 기능, 그냥 자바 스크립트이 내장되어 적용 할 수있는 맵핑의 개념. 그리고 이것은에게 큰 상황입니다 익명 함수에 대해 이야기. 그래서 우리가 있다고 가정 해 봅시다 정수의 배열입니다. 그것은 nums라고, 그리고 다섯 있어요 그것에 것들, 하나, 둘, 셋, 넷, 다섯. 지금은 일부를 매핑 할 이 배열에 기능. 나는 기능이 적용 갖고 싶어 배열의 모든 요소에. 음, 내가하고 싶은 것을 가정 해 봅시다 다만 모든 요소를​​ 두 배로하면된다. 난 그냥 루프를 사용하는 것입니다 무엇을 할 수 있는지 var에 내가 0 같다, 나는 미만 또는 동일한 4, 내가 플러스, 플러스, 및 다음 하나 하나 번호를 두 번. 하지만이 같은 작업을 수행 할 수 있습니다. 나는 nums가 이전했다 말할 수있다 하나 둘 셋 넷 다섯, 지금, 그러나, 나는 당신을 좋아하는 것 이 배열에 매핑을 적용 내가 당신을 원하는 곳 모든 번호를 두 번합니다. 그리고 그것은 정확히 무슨 일이 여기에 무슨 일이 일어나고. 하지만이 통과하고있어주의 인수가 매핑하는로. 이 익명의 기능입니다. 그리고 나는 주어진하지 않은 통지 이 함수의 이름, 나는 단지 그것을 매개 변수 목록을 부여했습니다. 그리고이 예입니다 익명 함수의. 우리는 일반적으로 호출하지 않을 것 지도의 문맥의 외부 기능. 우리는 매개 변수로 정의하고 지도, 그래서 우리가 정말로해야 할 일 경우에 대한 이름을 가질 필요 에 대한 관심 유일한지도이다 그것은 바로 정의되어 이지도의 내부. 그리고이 익명의 기능입니다. 우리는 할 수 없었다 이전에이 작업을 수행합니다. 일부 기능을지도하는 , NUM, 하나의 매개 변수를 받아 그 기능은 무엇 반환 시간 2 NUM된다. 그리고이 후 매핑이 적용되어, 이 지금 무엇을 nums의 모습입니다 등, 2 개, 4 개, 여섯, 여덟, 열. 그리고 우리는까지 팝업 것 내 브라우저 창 및 단지 이것 좀보세요 정말 빨리도. 그래서 여기에 또 다른 버튼이 내 홈 페이지에 두 번했다. 그리고 더블 클릭, 그것은 말할 때 날은 하나 전에, 둘, 셋, 넷, 다섯 둘, 넷, 여섯, 여덟, 열 후. 그리고 난 다시 가서 경우 ​​더블 클릭 또, 2 개, 4 개, 여섯, 여덟, 열. 그리고 그 후, 네, 여덟, 12, 16 일 후, 20. 그리고이 기능이 무엇을하고 있는가? 음, 우리는 단지 IDE까지 팝, 그리고 경우 여기, 내 익명 함수를 끌어 (13)를 통해 온라인 일곱에, 나는 해요 여기에 약간의 멋진 일을하고, 하지만 난 그냥 인쇄 해요 어떻게 배열의 현재입니다. 그리고 라인 16, 17, 18, 내지도가있다. 나는이 두 배를 적용하고있어 곳이다 모든 단일 요소로 기능. 그리고 더 아래로 조금, 난 그냥 같은 일을하고 있어요 지금 난을 제외하고, 이전에하고 있었다 배열의 내용을 인쇄 나중에. 하지만 난 여기에 수행 한 모든입니다 다만 익명 함수를 사용 전체 배열을 통해지도한다. 그래서 또 하나의 큰 주제에 대해 이야기 자바 스크립트가 이벤트의 개념이다. 이벤트는 일이 뭔가 사용자는 웹과 상호 작용하는 경우 페이지는, 그래서 아마 그들은 무언가를 클릭, 아니면 페이지가로드를 완료 아니면 그들은 이동 한 뭔가 이상 자신의 마우스, 또는 뭔가를 입력 한 입력 필드. 이러한 모든 것들이 이벤트입니다 즉, 우리의 웹 페이지에서 발생하고 있습니다. 그리고 자바 스크립트가 기능은 무엇인가를 지원하기 위해 이벤트 핸들러를 호출하는 콜백 함수는 그 HTML 이벤트에 응답합니다. 그리고 콜백 함수는 무엇인가? 음, 일반적으로 단지 다른 사람의 익명 함수에 대한 이름을 지정합니다. 이 함수의 그 이벤트에 응답합니다. 우리가 온 곳이있다 특정 기능을 결합의 아이디어 특정 HTML 속성에. 대부분의 HTML 요소는있다 속성에 대한 지원 우리는 HTML에 대해 얘기하지 않았다 클릭에 뭔가에 대한 비디오 또는 가져 또는 부하에, 이 모든 이벤트 당신은 그 기능을 쓸 수 해당 이벤트와 그 거래 때 이러한 이벤트를 웹 페이지에 발생합니다. 그리고 어쩌면 당신의 HTML 이 같이 보입니다. 그리고 나는 여기에 두 개의 버튼을 가지고, 버튼 하나와 버튼이, 여기에 내가 현재 가지고 정의 아무것도, 그러나 이것은 어디 속성에 클릭은 분명히 내 HTML 태그의 일부입니다. 그래서 분명히 내가 무엇을 정의 할 때 이 속성의 내부에서 일어나고, 그것은 몇 가지 자바 스크립트 될 것 이벤트에 응답 기능 아마도 클릭의 버튼 하나 또는 두 개의 버튼. 어떤 종류의 멋진이 우리를 약이다 일반 이벤트 핸들러를 작성할 수 있습니다. 그리고이 이벤트 핸들러는 것 이벤트 객체를 생성합니다. 그리고 이벤트 객체는 우리에게 말할 것이다 두 개의 버튼 중 어느 클릭했다. 이제 어떻게 작동합니까? 음, 이런 식으로 뭔가를 보일 수 있습니다. 그래서 우리는 먼저 우리의 버튼을 정의합니다 콜백에 응답을 갖도록 호출되는 함수 버튼이 클릭되면, 우리는 이벤트 경고 이름을 부를 것이다. 그리고 우리가있어 두 경우 모두에 주목 이 이벤트 매개 변수에 전달합니다. 그래서 우리는이 함수를 호출 또는이 기능 일어나는 이벤트에 의해 트리거되고, 그것은이 이벤트 개체를 만들 것 그리고로 전달 매개 변수는 이름을 경고합니다. 그리고 그 이벤트의 목적은 정보를 포함 할 것 어느 대해 버튼을 클릭했다. 그리고 어떻게 그 일을합니까? 음, 이런 식으로 뭔가를 보일 수 있습니다. 그래서 지금 내 별도의 자바 스크립트 파일, 나는 수도 이를 찾을 수있다 기능 경고 이름, 어떤 다시 이벤트 매개 변수를 사용할 수 있습니다. 나는 감지하고있어 어디 그리고 여기 어떤 버튼이 트리거 된, VAR 트리거 이벤트와 동일 도트 소스 요소. 생성 된 소스는 무엇인가 전달 된이 이벤트 객체? 이 버튼 하나 또는 버튼이 있었다? 그리고 여기에 내가 뭘 모든입니다 trigger.innerhtml을 인쇄. 그런데,이 경우,이에 문맥, trigger.innerhtml 버튼에 기록 된 단지 것입니다. 우리가 뛰어 경우는 너무 발생 다시 초, 그 것 그 버튼 태그 사이에 무슨 일. 이 단추를 한 버튼이있을 것입니다. 그리고 이제 살펴 보자 방법이 이벤트 핸들러는 것 우리가 실제로 실행했다면 본다. 그래서 우선, 당신은했습니다 개방 events.js, 자바 스크립트 파일 곳은있다 나는이 기능을 정의했습니다. 당신이 볼 수 있듯이, 그것은이다 거의 정확히 우리는 단지 두 번째 전에 슬라이드에 보았다. 그리고 나는까지 갈 것 우리가 사용하고 홈 페이지. 그리고 버튼을 여기에있다 하나의 버튼이. 그리고 버튼 하나를 클릭합니다. 당신이 경우, 버튼 하나를 클릭 바로 여기에 경고를 볼 수 있습니다. 그래. 버튼이 당신을 클릭 버튼이 클릭했습니다. 그래서 두 버튼이 있습니다 같은 함수 호출, 오른쪽? 그들은 모두 경고 이름이었다 이벤트하지만,이 이벤트 객체 우리가 클릭하면 그 생성됩니다 이 클릭 된 버튼을 우리에게 알려줍니다. 우리는 별도의 두 가지를 작성하지 않았다 갖는 기능이나 거래 추가 정보를 전달합니다. 우리는 단지에 의존하고 무엇 자바 스크립트 것 그를 만들 수있는, 우리를 위해 할 우리를 대신하여 이벤트 객체의 종류. 보다 자바 스크립트에 더 많은있다 우리는이 비디오에서 다루는 한 것을, 하지만 가진이 당신을 얻을해야 기본 꽤 오랜 방법에 당신은 모든 것을 할 것이다 학습 이것에 대해 알 필요가 흥미로운 언어입니다. 나는 더그 로이드입니다. 이 CS50입니다.