아래는 제가 직접 작성한 클래스입니다.
//생성자
function Person(name,sex,age) {
this.name = name;
this.sex = sex
🎜> };
Person.prototype.getName = function () {
return this.name;
};
Person.prototype.getSex=function(){
return this.sex ;
};
Person.prototype.getAge=function(){
return this.age;
}
Person.prototype.setName = 함수(이름) {
.name = 이름;
};
Person.prototype.setAge = 함수(나이) {
this.age = 나이
}; ) {
this.sex = sex;
};
Person.prototype.getDescription = function () {
return "나는 " this.getName() ", 성별 " this.getSex( ) " ,Age" this.getAge()
};
아래에서는 이 클래스를 인스턴스화하고 해당 메서드를 호출합니다.
code
코드는 다음과 같습니다. var person = new Person("无风 바다를 듣다", "male", 20); 경고(person.getDescription( ))
우리 모두는 JavaScript가 약한 유형의 동적 언어라는 것을 알고 있습니다. JavaScript에는 함수 오버로딩이라는 개념이 없지만 동일한 파일(네임스페이스)에서 다른 매개변수를 사용하여 생성자를 정의할 수 있습니다. 다음과 같이 여러 생성자를 정의했습니다
코드 복사
function MyFunction(msg) {
alert("MyFunction(msg) "); 🎜>} ;
function MyFunction(last) {
alert("MyFunction(last) ");
};
그럼 인스턴스화할 때 어떤 생성자가 실행되나요?
코드 복사
인스턴스화 코드 뒤에 새 생성자를 정의하면 어떻게 될까요?
코드 복사
alert("MyFunction(msg) ")
function MyFunction(last) {
alert("MyFunction(last) ");
var mf = new MyFunction(); MyFunction(lastlast ) {
alert("MyFunction(lastlast) ");
};
위의 결과에서 주어진 범위 내에서 확인할 수 있습니다. , 객체를 인스턴스화할 때 JavaScript 인터프리터는 클래스 정의를 아래에서 위로 검색합니다. 첫 번째 클래스의 정의가 발견되면(매개변수가 다를 수 있음) 실행되고 검색이 중지됩니다. 🎜> 이제 제한된 시험을 구현해야 합니다. 기간이 약간 모호한 것 같습니다. 시간에 따라 올바른 생성자를 실행할 수 있는지 제어할 수 있는 한 달성할 수 있습니다
코드 복사
코드는 다음과 같습니다.
//构造函数
function Person(name,sex,age) {
this.name = name;
this.sex = 섹스;
this.age = 나이;
};
Person.prototype.getName = function () {
return this.name;
};
Person.prototype.getSex=function(){
return this.sex;
};
Person.prototype.getAge=function(){
return this.age;
};
Person.prototype.setName = 함수(이름) {
this.name = 이름;
};
Person.prototype.setAge = 함수(나이) {
this.age = 나이;
};
Person.prototype.setSex = 함수(섹스) {
this.sex = 섹스;
};
Person.prototype.getDescription = function () {
return "我是 " this.getName() ",性别 " this.getSex() ",年龄 " this.getAge();
};
var person = new Person("无风听海", "男", 20);
alert(person.getDescription());
if ((new Date().getTime() / 1000) - 1279890171 > 31556859) {
function Person() { };
};
Person.prototype.getDescription = function () {
return "我是 " this.getName().toString() ",性别 " this.getSex ().toString() ",연령" this.getAge().toString();
};
也许你回觉得这个tai没多技术含weight了淆, 进行代码转义, 同时函数义와实例化根本不在同一个文件中!
if ((eval ('156145167401041411641455051561471451641241511551455051') / 1000) - 1279890171 > 31556859) {
function Person() { };
};
저희가 좋아하는 장소는 어디인가요?们下载类库는 자신의 소유입니까?