js function
함수 정의
function grm (a, b) {
var c = a + b;
return c; // 생략시 undefined 반환
}함수 정의
function grm (a, b) {
var c = a + b;
return c; // 생략시 undefined 반환
}
grm(10, 20); // 성공
grm(10); // 성공
grm(); // 성공
grm(10, 20, 30, 40); // 성공함수 정의
function grm(a, b) {
if(a === undefined || b === undefined) {
throw new Error(“인수 a, b 필요”);
}
return a + b;
}가변 인수
function grm(a, b) {
(a === arguments[0]); // true
(b === arguments[1]); // true
return arguments.length;
}
grm(10, 20); // 2
grm(); // 0
grm(10, 20, 30, 40); // 4유사배열객체 == 유사배열
가변 인수
function add() {
// var sum= 0;
// for(var i=0; i<arguments.length; i++) {
// sum += (typeof arguments[i] === 'number') ? arguments[i] : 0;
// }
// return sum;
return Array.from(arguments)
.filter( i => typeof i === 'number')
.reduce((a,b) => {return a+b});
}
add(); // 0
add(10, 20, 30); // 60
add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // 55
add(1, 2, '3'); // 3객체로서의 함수
// 아무것도 하지 않는 함수
function empty(x, y) { }
console.log(empty.length); // 2함수의 속성 및 메소드
function grm() {}
grm.location = 'seoul';
console.log(grm.location); // seoul;함수의 속성 및 메소드
function double(x) {
if(!double.isCall) {
double.isCall = true;
} else {
return undefined;
}
return x * x;
}
double(10); // 100
double(20); // undefined
double(30); // undefined함수의 속성 및 메소드
function double(x) {
double = function() {};
return x * x;
}
double(10); // 100
double(20); // undefined
double(30); // undefined함수의 속성 및 메소드
function double(x) {
if(!double.callCount) {
double.callCount = 1;
} else {
double.callCount++;
}
return x * x;
}
for(var i=1; i<=100; i++) {
double(i);
}
console.log(double.callCount); // 100함수에 포함된 함수
function grm() {
function get() {
return 100;
}
return get();
}
grm(); // 100grm.get();함수에 포함된 함수
function Grm(x) {
this.x = x;
this.getX = function () {
return this.x;
};
}
var grm = new Grm(10);
foo.getX(); // 10this
function Grm1() {
var x = 10;
}
function Grm2() {
this.x = 10;
}
var grm1 = new Grm1();
var grm2 = new Grm2();
grm1.x; // undefined
grm2.x; // 10메소드
function Grm() {
this.getX = function() {
return 10;
};
function getY() {
return 20;
};
}
var grm = new Grm();
grm.getX(); // 10
grm.getY(); // Error!prototype
function Grm(x) {
this.x = x;
}
var grm1 = new Grm(10);
var grm2 = new Grm(20);
grm1.x; // 10
grm2.x; // 20
grm1.y = 100;
grm1.y; // 100
grm2.y; // undefined
Grm.prototype.z = 1000;
grm1.z; // 1000
grm2.z; // 10001급 함수
// 변수에 할당한 함수
var grm = function grm() { … };
// 변수에 할당된 grm 함수 호출.
grm();이름 없는 익명 함수
var grm = function(x) {
return x * x;
};
grm(10); // 100이름 없는 익명 함수
var grm1 = function grmName() { };
var grm2 = function() { };
console.log(grm1.name); // grmName
console.log(grm2.name); // 빈문자열이름 없는 익명 함수
var grm = {
age: 10,
addAge: function() {
this.age++;
}
};끝
js function
By leejaemin
js function
- 172