Node.js – 3 : Javascript

 ** Array
>push() : 배열의 끝에 요소 추가
>pop() : 배열의 끝 요소 삭제
>unshift() : 배열의 앞에 요소 추가
> shift() : 배열의 앞에 요소 삭제
> splice(index, removeCount, [Object]) : 여러개의 객체를 요소로 추가하거나 삭제. ex> splice(2,0,..) : 2인덱스부터 객체 삽입.
> splice(index, copyCount) : 여러 개의 요소를 잘라내어 새로운 배열 객체로 만듬. ex> splice(2,2) : 2인덱스 부터 2개 삭제
> delete : 배열 요소 삭제 ex> delete Users[1]; 1인덱스 배열 요소 삭제. 데이터만 삭제되어 배열 사이즈는 변동 없음.
>> example


Users.splice(1,0,{name:'bear', age:25});
console.log('splice()로 한개를 1인덱스에 추가한 후;);
console.dir(Users);


Users.splice(2,1);
console.log('splice()로 2인덱스 한개 삭제한 후;);
console.dir(Users);


> slice(int startindex, int endindex)
var Users2 = Users.slice(1,3);
var User3 = User2.slice(1);


** callback
> example
function add(a, b, callback){
    var result = a+b;

    callback(result);

}


add(10,10, function(result){
    console.log('resule : %d', result);

});


> example 1
function add(a,b, callback)
{ 
    var result = a + b;

    callback(result);



    var history = function() {

        return a+'+'+b+'='+result;

    }
    return history;

}


var add_history = add(10, 10, function(result) {
    console.log('add %d', result);

});


conslog.log('result : ' + add_history());


> example 2
function add(a,b, callback)
{ 
    var result = a + b;
    callback(result);


    var count = 0;

    var history = function() {
        count++;

        return count + ': ' + a+'+'+b+'='+result;
    }
    return history;
}


var add_history = add(10, 10, function(result) {
    console.log('add %d', result);
});


conslog.log('result : ' + add_history());
conslog.log('result : ' + add_history());
conslog.log('result : ' + add_history());
>>>> Closure


** Prototype
function Person(name ,age) {
    this.name = name;

    this.age = age;

}


Person.prototype.walk = function(speed) {
    console.log(speed + 'km');

}


var person01 = new Person('P_1', 20);
var person02 = new Person('P_2', 22);


person01.walk(10);


> prototype 속성을 추가하면 인스턴스 객체를 만들 때 메모리를 효율적으로 관리할 수 있음.













 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다