Skip to content

Commit f5deee5

Browse files
committed
call and bind demo completed
1 parent 8085738 commit f5deee5

File tree

1 file changed

+60
-28
lines changed

1 file changed

+60
-28
lines changed

5-advanced-JS/starter/script.js

Lines changed: 60 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -156,34 +156,66 @@
156156
// })(5);
157157

158158
//Closures
159-
function retirement(retirementAge) {
160-
var a = ' years left until retirement';
161-
return function(yearOfBirth){
162-
var age = 2016 - yearOfBirth;
163-
console.log((retirementAge - age) + a);
164-
}
165-
}
166-
167-
var retirementUS = retirement(66);
168-
var retirementDE = retirement(65);
169-
var retirementIceland = retirement(67);
170-
171-
retirementUS(1990);
172-
retirementDE(1990);
173-
retirementIceland(1990);
174-
175-
function interviewQuestion(job){
176-
return function(name){
177-
if(job === 'designer') {
178-
console.log(name, ', Can you please explain what UX design is?')
179-
} else if(job === 'teacher') {
180-
console.log('what subject do you teach', name);
181-
} else {
182-
console.log('Hello', name, 'what do you do?');
159+
// function retirement(retirementAge) {
160+
// var a = ' years left until retirement';
161+
// return function(yearOfBirth){
162+
// var age = 2016 - yearOfBirth;
163+
// console.log((retirementAge - age) + a);
164+
// }
165+
// }
166+
167+
// var retirementUS = retirement(66);
168+
// var retirementDE = retirement(65);
169+
// var retirementIceland = retirement(67);
170+
171+
// retirementUS(1990);
172+
// retirementDE(1990);
173+
// retirementIceland(1990);
174+
175+
// function interviewQuestion(job){
176+
// return function(name){
177+
// if(job === 'designer') {
178+
// console.log(name, ', Can you please explain what UX design is?')
179+
// } else if(job === 'teacher') {
180+
// console.log('what subject do you teach', name);
181+
// } else {
182+
// console.log('Hello', name, 'what do you do?');
183+
// }
184+
// }
185+
// }
186+
187+
// interviewQuestion('designer')('John');
188+
// interviewQuestion('teacher')('Jane');
189+
// interviewQuestion('drug dealer')('Mark');
190+
191+
//Apply and Bind
192+
193+
var john = {
194+
name: 'john',
195+
age: 26,
196+
job: 'teacher',
197+
presentation: function(style, timeOfDay) {
198+
if (style === 'formal') {
199+
console.log('Good' + timeOfDay + " ladies and Gents I\'m " + this.name + " I'm a " + this.job + " and I'm " + this.age + " years old.");
200+
} else if(style === 'friendly') {
201+
console.log("Hey What's Up? I'm " + this.name + " I'm a " + this.job + " and I'm " + this.age + " years old. Have a nice " + timeOfDay);
183202
}
184203
}
185-
}
204+
};
205+
206+
var emily = {
207+
name: 'Emily',
208+
age: 35,
209+
job: 'designer',
210+
211+
};
212+
213+
john.presentation('formal', 'morning');
214+
215+
john.presentation.call(emily, 'friendly', 'afternoon');
216+
217+
var johnFriendly = john.presentation.bind(john, 'friendly');
218+
219+
johnFriendly('morning');
186220

187-
interviewQuestion('designer')('John');
188-
interviewQuestion('teacher')('Jane');
189-
interviewQuestion('drug dealer')('Mark');
221+
johnFriendly('night');

0 commit comments

Comments
 (0)