JavaScript 함수의 네 가지 존재 형태에 대한 자세한 해석(그래픽 튜토리얼)

亚连
풀어 주다: 2018-05-21 10:19:25
원래의
1572명이 탐색했습니다.

이제 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
로그인 후 복사

3. 생성자(constructor) var p = new Person();

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿