fastcampus-javascript-question

by Jeado

HTML

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<div id="box1" class="box">

</div>
<input id="input1" type="text" value="echo" />
<button id="btn1" type="button">클릭</button>

CSS

.box {
  width: 100px;
  height: 100px;
  background-color: black;
}

.red-box {
  background-color: red;
}

JavaScript

// 1번 문제 - 아래의 결과가 나오도록 sum 함수를 만들어 보세요.
console.log(sum(1, 2)) // 3이 콘솔에 출력된다.

// 2번 문제 - Person 생성자 함수를 수정하지 않고 jay 객체에서 plus1year 함수를 호출할 수 있게 해보세요.
function Person(name, age) {
  this.name = name;
  this.age = age;
  this.tellAge = function() {
    console.log(this.age);
  };
}
const jay = new Person('jay', 40);
jay.plus1year();
jay.tellAge(); // 41이 출력

// 3번 문제 - jin 객체에 hasOwnProperty 이 메소드는 어디에 정의되어 있고 왜 사용할 수 있는 걸까요?
const jin = new Person("jin", 22);
jin.plus1year();
jin.hasOwnProperty("name");

// 4번 문제 - 다음과 같은 User함수가 있다고 했을 경우 어디에 클로져가 생성되었고 어떻게 작동하는지 설명해주세요.
function User(name, age) {
  let _age = age;
  let _name = name;
  return {
    getName: function() {
      return _name;
    },
    getAge: function() {
      return _age;
    },
    plus1year: function() {
      _age = _age + 1;
      return _age;
    }
  }
}

// 5번 문제 - value에 어떠한 값이 들어가게 되나요?
let variable1 = "v1";

function getValue() {
  return variable1;
}

function func(f) {
  var variable1 = "v2";
  return f();
}

var value = func(getValue); //value값은?

// 6번 문제 - HTML수정을 하지 않고 아이디 box1 요소 안에 DOM API를 이용해서 다음 요소를 삽입해 보세요 <div class="red-box">box2</div>

// 7번 문제 - 다음 p1객체를 JSON 형태로 콘솔에 출력해보세요.
const p1 = {
  name: "jin",
  age: 12
}

// 8번 문제 - arr 배열의 모든 요소의 값을 1 증가시키는 arr2라는 새로운 배열을 만들어보세요. arr 배열은 변경되선 안됩니다.
const arr = [1, 2, 3, 4, 5];

// 9번 문제 - input1요소의 값을 /echo/json/ 에 POST 메소드로 ajax 요청을 해서 그 결과를 콘솔로 출력해보세요. (fetch or $.post)로 만들어보세요.