기능의 존재의 네 가지 형태 :
1. 기능적 형태
2. 메소드 양식은 특정 객체의 멤버에게 함수를 할당하며, 이는 메소드라고합니다.
3. 생성자 모양
4. 맥락 형식
1. 함수 양식 :
var foo = function () {alert (this); // 이것은 창입니다};2. 방법 양식 :
o = {}; o.foo = foo; // 객체의 foo 속성에 함수 foo를 할당 O.foo (); // 객체가 팝업되고 지금은 객체를 나타냅니다. var lib = {test : function () {alert (this); // 여기에 이것은 객체 (lib 객체 자체)를 나타냅니다. // var that = this; // 익명 함수에서 lib 객체를 나타내려면이 작업을 수행 할 수 있습니다 (function () {alert (this); 여기에 익명 함수는 lib 객체에 속하지 않으므로 여전히 Window} (}) (); }}; lib.test ();3. 생성자 (생성자) var p = new Person ();
1. 새로운 것은 물체를 만들고 공간을 열어줍니다
2. 객체의 참조 주소를 함수에 전달하고 함수에서 이것으로 수신하십시오.
3. 시공 방법 실행이 끝나고 이것을 반환합니다
var person = function () {this.age = 19; this.name = "mrjing"; "{}";}; var p = new Person (); Alert (p.name); // 팝업이 정의되지 않았습니다. 함수가 객체를 반환하기 때문에 객체는 사람에게 직접 반환되고 나이와 이름 속성은 무시됩니다. var person = function () {this.age = 19; this.name = "mrjing"; return 123;}; var p = new Person (); Alert (p.name); // "Mrjing"이 나타납니다. 리턴 값은 객체가 아니기 때문에 리턴 값 경고 (P); // 팝트 객체변경된 것은 다음과 같습니다. 생성자는 함수의 반환 값을 변경합니다. 함수의 리턴 값이 객체 인 경우 리턴 값에 따라 반환하십시오. 리턴 값이 객체가 아닌 경우 리턴 값을 무시하고 직접 반환하십시오.
4. 컨텍스트 호출 패턴 함수. Apply (객체, [매개 변수 목록])
var foo1 = 함수 (a, b) {alert (this); a> b? a : b;}; var num = foo1.apply (null, [112, 34]); //이 시점에서 foo1은 함수 양식입니다. 이것은 Windownum = foo1.apply ({}, [112, 34])를 의미합니다. //이 시점에서 foo1은 메소드 양식입니다. 이것은 매개 변수 {}에 전달 된 객체를 의미합니다.function.call (개체, 매개 변수 목록);
var num1 = foo1.call (null, 112,34); num1 = foo1.call ({}, 112,34); // 매개 변수 목록을 제외하고 나머지는 적용과 동일합니다.위의 기사에서는 네 가지 형태의 JavaScript 기능에 대해 간략하게 설명합니다. 이것은 내가 당신과 공유하는 모든 콘텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.