이제 JavaScript 함수의 네 가지 존재 형태에 대해 간략하게 설명하겠습니다. 이제 그것을 여러분과 공유하고 모든 사람에게 참고 자료로 제공하겠습니다.
함수의 네 가지 형태:
1. 함수 형태
2. 메소드 형태 함수가 객체의 멤버에 할당되면 이를 메소드라고 합니다
3. Context form
1. 함수형:var foo = function() {
alert(this); //this是window
};
o = {};
o.foo = foo; //将函数foo赋值给对象o的foo属性
o.foo(); //弹出的是object,此时的this表示object
1. up space
2. 객체의 참조 주소를 함수에 전달하고 이를 사용하여 함수3에서 생성자 메서드가 실행되고 this를 반환합니다
var lib = { test:function() { alert(this); //此处的this表示object(lib对象本身) //var that = this; //要想匿名函数中this表示lib对象,可以这样 (function() { alert(this); //此处的匿名函数不属于lib对象,所以this的任然表示window })(); } }; lib.test();
var Person = function() { this.age = 19; this.name = "Mr靖"; return "{}"; }; var p = new Person(); alert(p.name); //弹出的是undefined,由于函数返回的是一个对象,所以直接将这个对象返回给person,而忽略age,name属性
변경된 사항은 다음과 같습니다. 생성자가 함수를 변경합니다. 반환값; 함수의 반환값이 객체이면 반환값에 따라 반환하고, 반환값이 객체가 아니면 반환값을 무시하고 이를 직접 반환합니다.
4..apply
(object , [매개변수 목록])var Person = function() { this.age = 19; this.name = "Mr靖"; return 123; }; var p = new Person(); alert(p.name); //弹出“Mr靖”,由于返回值不是对象,所以直接忽略返回值 alert(p); //弹出object
function.call(object, 매개변수 목록);
var foo1 = function(a, b) { alert(this); return a > b ? a : b; }; var num = foo1.apply(null, [112, 34]); //此时foo1是函数形态,this表示window num = foo1.apply({}, [112, 34]); //此时foo1是方法形态,this表示参数中传入的对象{}
위 내용은 제가 모두를 위해 정리한 내용입니다. 모두에게 도움이 되기를 바랍니다. 미래에. 관련 기사:
JavaScript 배열 객체의 기본 내용에 대해 자세히 알아보세요JavaScript eval() 함수를 올바르게 사용하는 방법
기본 JavaScript AJAX 3단계 연결 구현 코드
위 내용은 JavaScript 함수의 네 가지 존재 형태에 대한 자세한 해석(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!