0- 변수와 매개 변수가 초기화되는지 여부
if (x) {} // 변수가 초기화되거나 변수가 비어 있지 않거나 변수가 0이 아니다1 하원 함수는 반환 값 또는 매개 변수 유형의 선언이 필요하지 않으며 문장의 끝에는 필요하지 않습니다. '
함수 합 (i1, i2) {return i1+i2}2 다이어러티스 익명 기능을 즉시 사용할 수 있도록 선언합니다
var f = 함수 (i1, i2) {return i1+i2;}; Alert (F (1,2)); // 일반 익명 함수 Alert (function (i1, i2) {return i1+i2;} (3,4)); // 직접 선언, 즉시 사용하십시오3-JS는 클래스 개념이 없으므로 일부 방법은 클래스처럼 보입니다.
기능인 (이름, age) {this.name = name; // 동적으로 속성을 추가, 동적 A와 비슷합니다. a = new ExpendOoBject (); this.age = age; this.sayhello = function () {alert ( 'hello, 내 이름은'+name+'i am'+age+'년. // call p1.gender = 'male'은 클래스처럼; // 동적으로 '성별'속성 경보 (p1.gender);4 배열 객체는 배열이며 배열의 길이를 사전 자격을 얻을 필요가 없습니다.
var arr = new array (); arr [0] = 0; arr [1] = 1; arr [2] = 2; for (var i = 0; i <= arr.length-1; i ++) {alert (arr [i]);}5 배열은 배열, 사전, 또한 스택입니다.
var dict = new array (); // 사전으로, dict [ 'i'] = 'wo'; dict [ 'love'] = 'ai'; dict [ 'you'] = 'ni'; Alert (dict [ 'i']); // 호출 알림 (dict.love); // (dict in dict)에 대한 속성 (동적 언어의 특성)을 호출하는 것처럼 호출 {// travel alert (k); // 'i', 'love', 'you'-> key} for (var k of dict) {// travel Alert (k); // 'wo', 'ai', 'ni'-> 인쇄 값} var arr = [1,2,3,4,5]; // 배열의 단순화 된 생성 방법 var arr = { "lorry": 21, "cloud": 20}; // 사전 스타일 창조 방법6 현재 페이지에서 호출 할 수있는 모든 요소를 전송합니다.
var s = null; for (문서의 var k) {// 객체의 속성은 s+= k+";";} alert (s);문자열의 지정된 위치에서 문자를 얻기 위해 배열과 유사한 7 이용 첨자 작업
var s = 'Hello, World!'; s [0]; // 'H's [6]; // [12]; // '!'s [13]; // 범위 외부의 정의되지 않은 인덱스는 오류를보고하지 않지만 항상 정의되지 않은 리턴을 반환합니다. 문자열은 불변하다는 점에 유의해야합니다. 문자열의 특정 색인에 값을 할당하면 오류가 없지만 효과는 없습니다. var s = 'test'; s [0] = 'x'; Alert (s); // s는 여전히 '테스트'입니다.
8 캡슐 소문자
var s = 'hello'; s.toupperCase (); // 반환 'hello'var s = 'hello'; s.tolowercase (); // 반환 '안녕하세요'
9- 지정된 문자열이 나타나는 위치에 대한 검색
var s = 'hello, world'; s.indexof ( 'World'); // return 7s.indexof ( 'world'); // 지정된 하위 문자열이 발견되지 않았으며 -1
스트링 지정 인덱스 간격의 10 기판
var s = 'hello, world's.substring (0, 5); // 인덱스 0에서 5 (5 제외)에서 시작하고 'hello 's.substring (7)을 반환합니다. // 인덱스 7에서 끝까지 시작하고 '세계'를 반환합니다.
11-JavaScript 객체는 몇 가지 키 값 쌍으로 구성된 변수되지 않은 수집 데이터 유형입니다.
var xiaoming = {이름 : 'Xiaoming', Birth : 1990, 학교 : 'No.1 중학교', 높이 : 1.70, 체중 : 65, 점수 : NULL // 마지막 키 값 쌍이 추가 될 필요가 없습니다 ','}; Xiaoming.Name; // 'Xiaoming'Xiaoming.birth; // 1990 속성에 대한 액세스는 연산자이지만 속성 이름은 유효한 변수 이름이어야합니다. 속성 이름에 특수 문자가 포함 된 경우 [] : var xiaohong = {이름 : 'Xiaohong', 'Middle-School': 'No.1 Middle School'}; Xiaohong [ 'Middle-School']; // 'No.1 Middle School'Xiaohong ['name ']; // 'Xiaohong'Xiaohong.name; // 'Xiaohong'Xiaohong.age; // 한정되지 않은Xiaoming이 특정 속성이 있는지 여부를 감지하고 IN 연산자를 사용합니다.
Xiaoming의 '이름'; // true'grade 'Xiaoming; // false *** 속성이 존재하지 않는다고 판단하면이 속성이 Xiaoming이 아닐 수 있으면 Xiaoming에 의해 상속 될 수 있습니다. Xiaoming의'Tostring '; // true *** Xiaoming 자체가 상속받지 않은지에 대한 속성이 소유하는지 여부를 결정하려면 hasownProperty () 메소드를 사용할 수 있습니다. Xiaoming.hasOwnProperty ( 'name'); // truexiaoming.hasownproperty ( 'tostring'); // 거짓
13 맵
var m = new Map ([[ 'michael', 95], [ 'bob', 75], [ 'tracy', 85]]); // 2d 배열 초기화 방법 m.get ( 'michael'); // 95 var m = new map (); // 빈지도를 직접 초기화합니다 ( 'Adam', 67); // 새로운 key-Valuem.set ( 'bob', 59); M.Has ( 'Adam'); // 키 '아담'이든 : truem.get ( 'Adam'); // 67M.Delete ( 'Adam'); // 키 삭제 'Adam'M.get ('Adam '); // undefined var m = new 맵 ([[1, 'x'], [2, 'y'], [3, 'z']); for (m of m) {// 트래버스 맵 경보 (n [1] + '=' + n [0]);}함수를 수신하고 각 반복을 자동으로 다시 호출하는 14 개별 내장 Foreach 메소드.
var a = [ 'a', 'b', 'c']; a.foreach (function (element, index, array) {// 요소 : 현재 요소의 값을 가리킨다 // 인덱스 : 현재 색인을 가리킨다 : 배열 자체를 가리킨다 (요소);}); 세트는 배열과 유사하지만 세트는 인덱스가 없으므로 콜백 함수는 최대 두 개의 매개 변수를 갖습니다. var s = new set ([ 'a', 'b', 'c']); s.foreach (function (element, set) {alert (element);}); 맵의 콜백 함수 매개 변수 매개 변수는 값, 키 및 맵 자체입니다. var m = new Map ([[1, 'x'], [2, 'y'], [3, 'z']); m.foreach (함수 (value, key, map) {alert (value);}); var a = [ 'a', 'b', 'c']; a.foreach (function (element) {alert (element);});15 이용 배열의 map () 메소드, 우리 자신의 기능을 전달하면 결과적으로 새로운 배열이 나타납니다.
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map (function (x) {return x*x;}). foreach (function (element) {alert (element); // [1, 4, 9, 16, 25, 36, 49, 64, 81]});16-use map () 배열의 모든 숫자를 문자열로 변환하려면 :
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map (String); // [ '1', '2', '3', '4', '5', '6', '7', '8', '9']]]
누적 계산을 수행하기 위해 17-use array 's reture ()
var arr = []; for (var x = 1; x <= 100; x ++) {arr.push (x); // 1 ~ 100을 배열에 넣습니다} alert (arr.reduce (function (x, y) {return x+y; // arr의 모든 객체의 누적 합계});18- 사용 삭감 ()을 굉장히 변환하기 위해 : [1, 2, 5, 8, 0]을 정수로 변환하십시오 12580
var arr = [1, 2, 5, 8, 0]; Alert (arr.reduce (function (x, y) {return x*10+y;});19- 사용 필터 ()는 특정 배열 요소를 필터링합니다
var arr = [0,1,2,3,4,5,6,7,8,9]; Alert (Ar ']; alert (arr.filter (함수 (s) {return s && s.trim (); // 참고 : IE9} 아래 버전에는 trim () 메소드가 없습니다); // [ 'a', 'b', 'c']20-Array의 SORT () 메소드는 모든 요소를 먼저 문자열로 변환 한 다음 정렬합니다.
[10, 20, 1, 2] .sort (); // [1, 10, 2, 20] 따라서 숫자 크기별로 정렬하려면 var arr = []; for (var x = 1; x <= 10; x ++) {arr.push (x);} document.write (arr+"<br/"); documb 문자의 영향을 무시하려면 먼저 대문자 또는 소문자로 변환해야합니다. [ 'Google', 'Apple', 'Microsoft']; Alert (Ar // [ 'Apple', 'Google', 'Microsoft']21 기업 프로그램 구조
① 함수를 매개 변수에 반환 값으로 할당하려면 매개 변수를 호출하여 계산 결과 var arr = []; for (var n = 1; n <101; n ++) {arr.push (n);} 함수 lazy_sum (arr) {var sum = function () {return arr.reduce (function (x, y) {return x+y;}); } return sum;} var f = lazy_sum (arr); alert (f ()); refited 반환 된 함수는 즉시 실행되지 않지만 f ()가 function count () {var arr = []라고 할 때까지 실행되지 않습니다. for (var i = 1; i <= 3; i ++) {arr.push (function () {return i * i;}); } return arr;} var results = count (); // 3 기능이 있습니다. f1 = 결과 [0]; var f2 = 결과 [1]; var f3 = results [2]; f1 (); // 16 반환 된 함수는 변수 i를 말하지만 즉시 실행되지는 않습니다. f2 (); // 16 세 기능이 모두 반환되면 내가 참조한 변수는 4, f3 ()가되었습니다. // 16 그러므로 최종 결과는 16 *** 폐쇄를 반환 할 때 다음을 기억하십시오. 루프 변수 나 향후 변화 할 변수를 참조하지 마십시오! loop 루프 변수를 참조해야한다면 어떻게해야합니까? 이 방법은 다른 함수를 만들고 함수의 매개 변수를 사용하여 루프 변수의 현재 값을 바인딩하는 것입니다. 후속 시간의 루프 변수가 어떻게 변하는 지에 관계없이 함수 매개 변수에 바인딩 된 값은 변경되지 않은 상태로 유지됩니다. 함수 count () {var arr = []; for (var i = 1; i <= 3; i ++) {arr.push (function (n) {return function () {return n*n;}} (i)); } return arr;} var results = count (); var f1 = results [0]; var f2 = result [1]; var f3 = results [2]; 경고 (f1 ()); // 1alert (f2 ()); // 4alert (f3 ()); // 9 langu 클래스 메커니즘이없는 언어로 및 만 기능 만, 폐쇄의 도움을 받아 개인 변수를 캡슐화 할 수 있습니다. creat_counter (init) {var n = init || 0; return {add : function () {n+= 1; 리턴 n; }}} var c = creat_counter (); alert (c.add ()); // 1alert (c.add ()); // 2alert (c.add ()); // 3 *** 반환 된 개체에서는 로컬 변수 n을 운반하고 변수 n을 모두 외부 코드에서 액세스 할 수없는 클로저가 구현됩니다. 다시 말해, 폐쇄는 상태를 전달하는 함수이며, 그 상태는 외부에서 완전히 숨겨 질 수 있습니다. math.pow (x, y)를 사용하여 x^2 또는 x^3 //math.pow(X, y)-> x^yfunction make_pow (y) {return function (x) {return math.pow (x, y); }} var pow2 = make_pow (2) var pow3 = make_pow (3) alert (pow2 (3)) // 9alert (pow3 (3)) // 2722- 화산재 함수 (현재 Firefox에서만 지원) // 매개 변수 => 기능 바디
var f = x => x*xxxalert (f (3)) // 27
피브보나치 서열을 생성하기위한 23- 세대
함수* fib (max) {var t, a = 0, b = 1, n = 1; while (n <= max) {수율 a; t = a+b; a = b; b = t; n ++; } return a;} for (var x of fib (10)) {// 생성기 개체 문서를 반복합니다 .write (x+''); // output 0, 1, 1, 2, 3} 생성기를 사용하여 자체 점수 ID (전역 변수 필요 없음) 함수* next_id () {for (var x = 1; x <100; 수율 x ++);} var g = next_id (); alert (g.next (). value); // 1alert (g.next ()위는 편집자가 가져온 JavaScript Self-Study Notes (Must-Read Article)의 전체 내용입니다. 모두가 wulin.com을 더 지원하기를 바랍니다