2019-07-03
대상을 향하다
대상 지향과 과정 지향
대상을 대상으로 하는 것은 당신의 수요를 하나의 대상으로 추상화한 다음에 이 대상을 대상으로 그 특성(속성)과 동작(방법)을 분석하는 것이다.이 대상을 우리는 유형이라고 부른다.대상을 대상으로 프로그래밍하는 사상의 특징 중 하나는 바로 봉인이다. 즉, 당신이 필요로 하는 기능을 한 대상에 두는 것이다.
봉인
var Book = function(id, bookname, price){
this.id = id
this.bookname = bookname
this.price = price
}
(2): 클래스 원형Book.prototype.display = function(){}
// of
Book.prototype = {
display: function(){}
}
을 통해 new 키워드로 var book = new Book ()를this와protototype의 차이점:this를 통해 추가된 속성, 방법은 현재 대상에 추가된 것이지만 JS는 원형prototype을 기반으로 한 언어이기 때문에 하나의 대상(JS에서 함수도 대상)을 만들 때마다그것은 계승의 속성을 가리키는 원형prototype을 가지고 있습니다. 방법.이렇게 프로토타입을 통해 계승하는 방법은 대상 자체가 아니기 때문에 이러한 방법을 사용할 때 프로토타입을 통해 1급 1급 검색을 통해 얻을 수 있다.this가 정의한 속성이나 방법을 통해 대상 자체가 가지고 있기 때문에 클래스를 통해 새로운 대상을 만들 때마다this가 가리키는 속성과 방법은 응답을 받을 수 있습니다.prototype을 통해 계승된 속성이나 방법은 각각prototype을 통해 접근할 수 있기 때문에 클래스를 통해 새로운 대상을 만들 때마다 이러한 속성과 방법은 다시 만들지 않습니다 // , , ,
var Book = function(id, name, price){
//
var num = 1;
//
function checkId(){};
//
this.getName = function(){};
this.getPrice = function(){};
this.setName = function(){};
this.setPrice = function(){};
//
this.id = id;
//
this.copy = function(){};
//
this.setName(name);
this.setPrice(price)
}
// ( )
Book.isChinese = truel
// ( )
Book.resetTime = function(){
console.log(123)
}
Book.prototype = {
//
jsBook: false,
//
display : function(){}
}
var b = new Book(11, 'JS', 50);
console.log(b.num); // undefined
console.log(b.jsBook); // false
console.log(b.id); // 11
console.log(b.isChinese); // undefined
console.log(Book.isChinese) // true
Book.resetTime(); // 123
//
var book = (function(){
//
var bookNum = 0;
//
function checkBook(name){}
//
function _book(newId, newName, newPrice) {
//
var name, price;
//
function checkId(id){}
//
this.getName = function(){}
this.getPrice = function(){}
this.setName = function(){}
this.setPrice = function(){}
//
this.id = newId;
//
this.copy = function() {};
if(bookNum > 100)
throw new Error(' ')
//
this.setName(name);
this.setPrice(price);
}
__book.protopy = {
//
isJSBook : false,
//
display : function(){}
}
})()
//
var Book = function(title, time, type){
this.title = title;
this.time = time;
this.type = type;
}
var book = Book('Js', '2031', 'js')
console.log(book) // undefined
console.log(window.title) // Js
console.log(window.time) // 2031
console.log(window.type) // js
위의 예는 new 키워드를 실례화하지 않았기 때문에 함수가 전역 역할 영역에서 실행되었기 때문에 전역 역할 영역에서this가 현재 대상을 가리키는 것이 전역 대상 윈도우입니다. 함수에 return 문장이 없기 때문에 이 북 변수는 결국 book 실행 결과를 알려주지 않기 때문에undefined 안전 모드//
var Book = function(title, time, type){
// this ( new )
if(this instanceof Book){
this.title = title;
this.time = time;
this.type = type;
}else{
return new Book(title, time, type)
}
}
var book = Book('Js', '2031', 'js')
console.log(book) // Book
console.log(window.title) // undefined
console.log(window.time) // undefined
console.log(window.type) // undefined
console.log(book.title) // Js
console.log(book.time) // 2031
console.log(book.type) // js
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.