각 함수는 기본적으로 생성자 속성과 Object 개체를 가리키는 숨겨진 속성인 __proto__를 포함하는 프로토타입 속성을 사용하여 생성됩니다. 생성자 속성의 값은 함수의 객체입니다. 앞에 new를 붙여서 함수를 호출하면 함수의 프로토타입 멤버(__proto__ 속성으로 연결됨)에 숨겨져 연결되는 새 객체가 생성되고, 함수의 this가 해당 새 객체에 바인딩됩니다.
함수는 항상 값을 반환합니다. 반환 값이 지정되지 않은 경우 생성자로 호출되고 반환 값이 객체가 아닌 경우 반환 값이 반환됩니다. 객체입니다. 생성자가 된다는 것은 말이 되지 않습니다!
[javascript]
함수 A( ){
this.p = '하하';
return {p:'heihei'}
}
var a = new A()
function A(); >this.p = '하하';
return {p:'heihei'};
}
var a = new A()
alert(a.p);//'heihei' 표시 , var a = A(); 와 같은 효과가 있습니다
JS 함수에는 함수 정의 시 지정된 형식 매개변수의 개수를 나타내는 길이 속성이 있습니다.
함수의 인수 속성에는 이러한 형식적 매개변수가 함수 선언에 정의되어 있는지 여부에 관계없이 함수를 호출할 때 전달된 모든 매개변수가 포함됩니다. 인수는 배열이 아니라 "배열과 유사한" 객체(실행 인수) 함수 Array의 instanceof는 false를 반환합니다. Array.prototype.slice.apply(arguments)를 통해 JS 배열로 변환할 수 있습니다.
자바스크립트 함수의 프로토타입에 메소드를 추가하면 모든 (생성자) 함수를 사용할 수 있습니다! 예를 들어 JS 함수 생성자 Function의 프로토타입에 메서드 메서드를 추가하면 Object, Number 및 기타 생성자를 포함한 모든 함수가 이 메서드를 상속합니다.
[javascript]
this.prototype[name] = func;
return this;
};
Function.prototype.method = function(name, func){
this.prototype[name] = func;
return this;
};
[javascript]
Object.method('method',Object.method)
[javascript ]
return 0–this;
})
Number.method(negative,function(){
return 0–this;
})
메서드를 호출할 때 약간의 비틀림이 있습니다. JavaScript의 구문에서는 숫자 바로 뒤에 마침표가 붙은 다음 메서드 호출이 오는 구문이 잘못되었습니다. 즉, 3.negative()를 이렇게 쓰는 것은 잘못된 것입니다. 숫자 유형 메소드를 호출하려면 숫자 뒤에 n 공백(n>=1)을 추가하거나 괄호를 사용하여 숫자를 묶어 표현식으로 강제 변환한 다음 메소드를 호출하거나 간단히 변수가 수행할 수 있는 값을 정의해야 합니다. 메소드를 직접 호출할 수도 있습니다. 즉, 다음 작성 방법이 맞습니다:
(3).negative()
3 .negative()
var n = 3; ;
3['negative']();
3 .negative()
n.negative(); 3['negative']();
함수 표현 방식을 사용하여 함수를 정의할 때 함수 뒤의 함수 이름을 사용하여 자신을 재귀적으로 호출할 수 있으며 이 이름은 덮어쓰이지 않습니다! 다음 예시를 살펴보겠습니다.
[javascript]
else
return 1; a(n ){
if(n>1)
return a(n-1) 1; else
return 1
위의 코드 정의 함수 a가 있고 내부적으로 자신을 재귀적으로 호출합니다. 이제 새 참조 aa를 사용하여 함수 a를 가리키고 원래 a를 예를 들어 정수 1로 변경한 다음 함수 aa, 다음 코드에 표시된 대로 표시:
[javascript]
코드는 다음과 같습니다.
제어 스테이션에서 오류를 보고했습니다. TypeError: 개체 [object Window]의 'a' 속성은 함수가 아닙니다. 원래 재귀 함수가 삭제되었습니다. 이 문제와 관련하여 a를 함수 a 내부의 인수.callee.caller로 바꾸거나 함수 표현식을 사용하여 함수를 정의할 수 있습니다.
[javascript]
복사 code
코드는 다음과 같습니다.
return a(n-1) 1
else
return 1
}; 🎜>a = 3;
bb(3);
이 시점에서 bb 함수는 우리가 원하는 결과를 정확하게 반환할 수 있습니다.
JavaScript 함수의 캡슐화를 개선하기 위해 함수 생성자를 정의할 수 있습니다. 다음은 예입니다.
코드 복사
코드는 다음과 같습니다.
var funcCons = function(spec){
var that = {}
that.getName = function(){
return spec.saying ||
return that; ;
var myFunc = funcCons({name:'NearEast'});
이러한 방식으로 생성자에서 사전 테이블과 같은 일부 개인 변수와 함수를 정의할 수 있습니다. 모두 노출되도록 합니다.

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
