1
2
3
4
5
const num3 = 1;
const num4 = 2;
const result2 = 3;
const string2 = `${num3} 더하기 ${num4}는 '${result2}'`;
console.log(string2);
cs


템플릿 문자열을 사용하기위해서 백틱(`) (backtick,backquote) 사용한다.

${변수} 형식으로 변수를 더하기 기호 없이 문자열에 넣을수 있다. 기존 따옴표 대신에 백틱을 사용하기 때문에 큰따옴표나 작은따옴표와 함께 사용할 수도 있다. 백틱 내에서 개행 및 공백 자유롭게 사용할 수 있어서  코드를 유지보수하고 보기에 좋다.


참고 : 템플릿 문자열

'자바스크립트' 카테고리의 다른 글

DOM API - Document 객체에 접근하는 API  (0) 2018.12.12
자바스크립트 객체지향 프로그래밍  (0) 2018.10.10
객체 생성방법 3가지  (0) 2018.10.09
jqGrid 환경설정하기  (0) 2016.02.18
동적 colModel  (0) 2016.01.05
블로그 이미지

클라인STR

,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html>
<html lang="ko-KR">
<head>
  <meta charset="UTF-8">
  <meta
    http-equiv="X-UA-Compatible"
    content="ie=edge">
  <meta
    name="viewport"
    content="width=device-width, initial-scale=1.0">
  <title>문서객체모델(DOM) API × JavaScript</title>
  <link
    href="https://spoqa.github.io/spoqa-han-sans/css/SpoqaHanSans-kr.css"
    onload="if(media!=='all')media='all'"
    rel="stylesheet"
    media="none">
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
 
  <figure
    class="cloud is-slow is-big"
    aria-label="크고 느린 구름"></figure>
 
  <figure
    class="cloud is-normal is-regular"
    aria-label="보통 크기, 속도인 구름"></figure>
 
  <figure
    class="cloud is-fast is-small"
    aria-label="작고 빠른 구름"></figure>
 
  <figure
    id="boy"
    class="boy"
    aria-label="서있는 소년"></figure>
 
  <p class="info">
    <kbd>space</kbd> 키를 누르세요.
  </p>
 
  <script src="js/dom-api.js"></script>
</body>
</html>
 
cs



document 에서 id값으로 속성을 선택하는 경우 


var element = document.getElementById(id);


주어진 ID와 일치하는 앨리먼트 속성을 찾는다. ID 요소는 대소문자를 구별하며 , 문서내에서 유일한 값이어야한다.


document 에서 TagName 으로 선택하는 방법


var elements = document.getElementsByTagName(name)


TagName에 해당하는 엘리먼트를 찾고 HTMLCollection  형태를 반환한다. (과거 브라우저 방식)




HTMLCollection 형태에 DOM 을접근하기 위해서는 item 메서드를 사용하거나 배열형태로 접근한다.


document 에서 클래스명으로 선택하는경우


var elements = document.getElementsByClassName(names);


클래스 이름을 가진 모든 자식 요소를 반환한다. (HTMLCollection  형태를 반환한다. )




클래스선택자를 사용하는 경우 


var element = document.querySelector(selectors)      


선택자에 해당하는 첫 번째 Element 를 반환한다. selectors 요소느 하나 이상의 선택자를 포함하는 DOMString 이어야한다. 








참고원문 


패스트컴퍼스 프론트엔드 강의



'자바스크립트' 카테고리의 다른 글

ES6 템플릿 문자열 (Template literals)  (0) 2019.01.09
자바스크립트 객체지향 프로그래밍  (0) 2018.10.10
객체 생성방법 3가지  (0) 2018.10.09
jqGrid 환경설정하기  (0) 2016.02.18
동적 colModel  (0) 2016.01.05
블로그 이미지

클라인STR

,






자바스크립트 객체지향 프로그래밍

객체지향 프로그래밍 기본적인 문법

  • 클래스 : 연관있는 변수와 함수를 묶어 재사용하기 위한 것 
    • 자바스크립트에서는 class 키워드 명렁어를 제공하지 않는다. 대신 오브젝트 리터럴 방식, 함수방식, 프로토타입방식 으로 클래스형태를 비슷하게 만들어 사용 할 수 있다.
  • 인터페이스 : 구현체가 없이 선언으로만구성된것 
    • 자바스크립트에서는 interface 키워드 명령어를 제공하지 않으며, 인터페이스가 있다는 가정하에 코딩을 하는 방법밖에 없다. -_-
  • 추상클래스

  • 캡슐화 : 클래스에 담은 내용중 데이터가 기능을 외부에 접근하지 못하게 하는 것

    • 자바스크립트에서 캡슐화 지정 키워드는 없다. 대신 객체 외부에서 접근하지 못하게 하는 접근 지정자 private 과 protected 대신 요소 이름 앞에 “_” 를 붙여 만들어 사용한다. 그렇다고해서 자바스크립트가 문접적으로 접근 지정자 기능을 지원하지 않기 때문에 외부에서 얼마든지 접근할 수 있다. 단지 일종의 약속 같처럼 사용하는 것임.
  • 상속 : 상속을 사용하는 가장 큰 이유는 코드를 재사용하기 위함이며, 중복된 코드를 제거하며 확장성을 높이기 위해서이다.


function 부모클래스(){
this.프로퍼티 = 값
}
부모클래스.prototype.메서드 = function(){
. . . . .
}
function 자식클래스(){
}

자바스크립트에서 상속은 자식클래스의 prototype 속성에 부모 클래스를 인스턴스를 대입하는 방식으로 이루어진다. 이렇게 하면 부모 객체의 모든 기능이 자식 객체의 프로토타입에 연결되어 자식객체에서 부모의 기능을 사용할 수 있게된다.

function Parent(){
this.property1 = 값''
}
Parent.prototype.method1 = function(){
console.log(this.property1);
}
function MyChild(){
}
//상속
MyChild.prototype = new Parent();
//자식클래스 인스턴스 생성
var myChild = new MyChild();
//자식객체에서 부모의 메서드 호출
myChild.method1();


'자바스크립트' 카테고리의 다른 글

ES6 템플릿 문자열 (Template literals)  (0) 2019.01.09
DOM API - Document 객체에 접근하는 API  (0) 2018.12.12
객체 생성방법 3가지  (0) 2018.10.09
jqGrid 환경설정하기  (0) 2016.02.18
동적 colModel  (0) 2016.01.05
블로그 이미지

클라인STR

,

1.객체 리터럴

객체를 생성하는 가장 일반적이고 간편한 자바스크립트 객체 생성 방식이다. 리터럴 방식은 객체 리터럴을 의미하는 {} 내부에 프로퍼티와 메서드를 정의(포장)하는 구조이다.

var user = {
name : "kiuk",
age : 10 ,
showInfo : function (){
document.write("name =" +this.name+", age="+this.age);
}
}
user.showInfo();

리터럴 방식은 클래스를 정의함과 동시에 자동으로 인스턴스가 만들어진다. 즉 인스턴스를 만들기 위해 다른 작업을 해주지 않아도 된다. 하지만 다른 클래스 정의 방법과 달리 인스턴스를 하나 이상 만들 수 없는 단점을 가진다.

2. 함수방식(function)

함수방식에 경우 하나의 함수 내부에 프로퍼티와 메서드를 정의하는구조이다. 프로퍼티와 메서드는 반드시 자기 자신을 나타내는 this에 정의해야 한다. 
javascript는 클래스를 만들기 위한 키워드가 따로 존재하지않는다. (ES6 에서는 지원함 -_-) 
일반적으로 함수이름은 소문자로 시작하며, 클래스는 대문자로 시작한다.

function User(){
this.name = 'kiuk';
this.age = '10';
this.showInfo = function(){
document.write("name =" +this.name+", age="+this.age);
}
}
var user = new User();
user.showInfo();

3. 프로토타입(prototype) 방식

// 클래스 생성자
function User(){
this.name = "kiuk";
this.age = 10;
}
// 메서드 정의
User.prototype.showInfo = function(){
document.write("name =" +this.name+", age="+this.age);
}
var user = new User();
user.showInfo();


'자바스크립트' 카테고리의 다른 글

DOM API - Document 객체에 접근하는 API  (0) 2018.12.12
자바스크립트 객체지향 프로그래밍  (0) 2018.10.10
jqGrid 환경설정하기  (0) 2016.02.18
동적 colModel  (0) 2016.01.05
jqGrid 기본속성  (0) 2015.12.15
블로그 이미지

클라인STR

,





 

1
2
3
4
5
6
7
<link href="/css/jquery-ui.css" rel="stylesheet" type="text/css"  />
<link href="/css/ui.jqgrid.css" rel="stylesheet" type="text/css"  />
 
 
<script type="text/javascript" src="/js/jquery/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/js/jquery/i18n/grid.locale-kr.js"></script>
<script type="text/javascript" src="/js/jquery/jqgrid/js/jquery.jqGrid.src.js"></script>
cs

jQuery js파일을 jqGrid에 js파일보다 먼저 선언해주어야 한다.

'자바스크립트' 카테고리의 다른 글

DOM API - Document 객체에 접근하는 API  (0) 2018.12.12
자바스크립트 객체지향 프로그래밍  (0) 2018.10.10
객체 생성방법 3가지  (0) 2018.10.09
동적 colModel  (0) 2016.01.05
jqGrid 기본속성  (0) 2015.12.15
블로그 이미지

클라인STR

,

실제 운영중에 그리드에 레이블명을 DB상에서 가져와야 되는경우가 발생하여 사용하였다.

1
2
3
4
5
6
7
8
9
10
var gridOptions = {
 
    colModel : [
        
        { label: '지역'             , name'AREA_NAME'       , width :"70"  , align:'center'       , edittype  :'text'},
        { label: '시도'             , name'SIDE_NAME'       , width :"100" , align:'left'         , edittype  :'text'},                            
        { label: '시군구'           , name'SIGN_NAME'       , width :"70"  , align:'center'        , edittype  :'text'}
        
    ]
};
cs

 

1) 정적인 콜모델 정보를 선언한다.

 

1
2
3
4
<c:forEach var="list" items="${arrList}" >
   gridOptions.colModel.push({ label: "${list.name}"   , name"area_${list.code}"       , width :"70"  , align:'center'         , edittype  :'text'});
</c:forEach>
 
cs

 

2) 서버에서 읽어온 정보를 jstl를 이용하며 label, name 정보를 동적으로 생성한다.

 

 

1
2
3
4
5
6
7
8
 $("#grid1").jqGrid({
         url: '',
         datatype: "json",
         mtype: 'POST',
         jsonReader: { },                
         colModel :gridOptions.colModel,
         ..... (중략)....
     });
cs

 

3) 그리드 로드시 설정한 콜모델 정보를 배열형태로 셋 해준다.

 

'자바스크립트' 카테고리의 다른 글

DOM API - Document 객체에 접근하는 API  (0) 2018.12.12
자바스크립트 객체지향 프로그래밍  (0) 2018.10.10
객체 생성방법 3가지  (0) 2018.10.09
jqGrid 환경설정하기  (0) 2016.02.18
jqGrid 기본속성  (0) 2015.12.15
블로그 이미지

클라인STR

,

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

var grid = jQuery("#grid1");

        grid.jqGrid({

            url: '/sample/openSampleBoardList.do',

            mtype: "POST",

            datatype: "local",

            postData : JSON.stringify(  jQuery("#frm01").serialize() ),

            editUrl : 'clientArray',

            cellSubmit: 'clientArray',

            colNames: ['글번호''제목''설명'],                    

            colModel:[

                      {  name'SAMPLE_NO'    , width:30  , align:'center'   },

                      {  name'TITLE'        , width:30  , align:'left'     },   

                      {  name'DESCRIPTION'  , width:30  , align:'left'     }                      

            ],

            loadtext : "<img src='/images/loading.gif' />",            

            width:1145,                

            height :540,

            regional : 'kr',

            viewrecords: true,                        

            pager: "#pager1",

            page:1,

            pgbuttons:true,

            rowNum:10,            

            recordpos:'right',       //우측좌측 기준변경 records의 위치 설정

            rowList : [ 2050100500 ],

            loadonce : false,            // 데이타 가져오는 방식 true: 최초 한번 ,

            rownumbers : false// 줄번호 표시 여부        

            altRows:true

            gridview:true,

            sortable : true,

            caption: '게시판 목록',

            jsonReader: {

                page: 'page',

                total: 'total',            

                root: 'rows',

                repeatitems:false

            },

            loadComplete : function(data){ //데이타 로딩후 

                           },

            onSelectRow : function(id){                            // 로우 클릭

                

            },

            ondblClickRow : function(rowid, status, e){        //로우 더블클릭

            }

        });    

cs

 

url : 데이터를 가지고 올 수 있는 주소를 지정함

mtype : 요청방식을 설정함. GET / POST

datatype : grid에 바인딩할 데이터 형식을 지정한다. json, xml ,local 주로 세가지 사용함

colName: 헤더에 출력할 컬럼의 이름을 배열형태로 적음

colModel: 각 컬럼에 대한 상세 정보를 설정함. 예제소스 참조

jsonReader/xmlReader : 데이터 타입에 따라 reader를 통해 데이터를 어떻게 읽는지 설정함

rowNum : 초기에 출력될 데이터의 개수를 설정함

rowList : 출력된 데이터 리스트를 콤보형태로 표시함

loadonce : 데이터를 가져오는 방식 true인경우는 한번만 가져옴. 페이징을 할거면 false가 나음.

pager: 그리드에 대표기능인 페이징을 설정함 div id를 지정함

autowidth : true 이면 알아서 화면에 곽차게 하며, false 이면 width 속성을 줘서 가로사이즈를 지정함

width : 그리드 가로사이즈

height : 그리드 세로사이즈

shrinkToFit : true 인경우 그리드 width 맞춰 자동으로 맞춰짐

rownumbers : true 인경우 순번이 생성됨

altRows: true 인경우 title태그 처럼 값이 커서에 자동 표시됨

multiselect : true인경우 여러줄을 선택할 있다.

viewrecords : true인경우 전체 레코드의 수를 표현할지를 여부

'자바스크립트' 카테고리의 다른 글

DOM API - Document 객체에 접근하는 API  (0) 2018.12.12
자바스크립트 객체지향 프로그래밍  (0) 2018.10.10
객체 생성방법 3가지  (0) 2018.10.09
jqGrid 환경설정하기  (0) 2016.02.18
동적 colModel  (0) 2016.01.05
블로그 이미지

클라인STR

,