이 예제는 JS 기능의 사용에 대해 설명합니다. 참조를 위해 공유하십시오. 세부 사항은 다음과 같습니다.
JS에서 기능을 작성할 때 이것은 많이 사용됩니다. 이것은 정확히 무엇입니까? 이것은 컨텍스트라고도하는 실행 환경의 범위를 가리키는 키워드, 포인터입니다.
먼저 기능에 대해 이야기합시다. 개인적으로, 나는 기능이 언어로 반복적으로 불리는 코드 블록이라는 것을 이해합니다.
JS에서는 함수가 객체의 속성에 할당되면 메소드라고합니다.
좋다:
var m = {}; m.title = 'title'; m.show = function () {alert (this.title)} m.show ()객체 m의 방법으로 함수를 부르는 것입니다.
이 경우 이것은 객체 m을 가리 킵니다.
직접 통화 함수 이름을 함수라고합니다.
var a = 1212; function show () {alert (a) // 1212} show () // 1212글로벌 환경에서 글로벌 변수는 창 속성으로 이해 될 수 있으며 글로벌 기능은 창 방법입니다.
다음 예를 참조하십시오.
var m = {}; mmm '; mmm'; m.show = function () {alert (this.id);} var a = {}; a.id = 'aaa'; a.show = m.show; a.show (); //aaaa.show=m.show; 함수는 객체이기 때문에이 문장을 먼저 이해합니다. m.show = function () {alert (this.id)}이 표현은 A.Show 및 M.Show를 동시에 언급하는 것과 같습니다.
function () {alert (this.id)}실제로와 동일합니다
a.show = function () {alert (this.id)}따라서 a.show ()가 호출되면 객체 A를 가리 킵니다.
다음 밤을보십시오
var m = {}; mmm'm.show = function () {alert (this.id)} var a = {} a.id = 'aaa'a.show = function () {m.show ()}; a.show (); // 음따라서 A.Show ()를 호출 할 때 M.Show ()의 방법을 호출하는 것과 같습니다. M 객체를 가리 킵니다.
다음 예를 보면 처음에는 여전히 이해하지 못했습니다.
var color = 'red'; var app = {}; app.color = "green"; app.paint = function (node) {node.style.color = this.color; alert (this.color);} 함수 findNode (콜백) {var btn = document.querySelector ( '. btn'); 콜백 (btn); // pass in,} findnode (app.paint); 경고 (this.color); // 녹색 대신 빨간색함수가 인수를 전달하면 참조가 아니라 값에 따라 인수를 전달합니다.
따라서 findnode (app.paint); 전송됩니다. 실제로입니다
function (node) {node.style.color = this.color; 경고 (this.color);}, FindNode는 전 세계적으로 정의되기 때문에 이것은 창을 가리키거나 정의되지 않은 것을 가리 킵니다.
매개 변수를 전달하고 과거의 값을 전달하는 것
함수 쇼 (a) {alert (a)}매개 변수가 기본 데이터 유형 일 때 이해하기 쉽습니다.
var b = 10; show (b) // 경고 (10);
대상에 관해서
var c = {}; c.prop = true; var showprop = function (obj) {obj.prop = false} showprop (c); //c.prop=false어떤 사람들은 위의 예가 참조에 따라 매개 변수를 전달하는 것이라고 생각합니다.
실제로, 위는 여전히 값에 따라 매개 변수를 전달하고 있습니다. showprop (c)가 C를 함수로 전달할 때 C는 실제로 참조와 동일합니다. 함수는 obj.prop = false이며, 이는 참조 된 객체를 {prop : false}로 변경하는 것과 같습니다.
다음 예를보십시오
var c = {}; c.prop = true; var showprop = function (obj) {obj = new Object (); obj.prop = false return obj;} showprop (c); Alert (c.prop); //진실여기서 들어오는 OBJ가 수정되었습니다. 참조별로 함수에 따라 매개 변수를 전달하면 함수 내부의 수정이 반드시 외부에 반사됩니다.
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.