1.什么是回调?
var learn = function(something) {
console.log(something);
}
var we = function(callback,something){
var something = something + ' is cool';
callback(something);
}
we(learn,'NodeJs');
we(function(something){
console.log(something);
},'Jade')
2.什么是同步异步?
var go_home = function(person){
console.log(person+' go home');
}
var wait_classmate = function(person){
setTimeout(function(){
person += 'wait classmate';
go_home(person);//等到同学在回家
},1000);
go_home(person);//回家以后等同学
}
wait_classmate('xiao ming');
3.什么是作用域?
var globalVariable = "This is a global variable";
var globalFunction = function(){
console.log('visit globalVariable');
console.log(globalVariable);
var LocalVariable = "This is a local variable";
var localFunction = function(){
console.log('visit LocalVariable');
console.log(LocalVariable);
var innerLocalVariable = "This is a local innerLocalVariable";
var innerLocalFunction = function(){
console.log('visit global/local/innerLocal/Variable');
console.log(globalVariable);
console.log(LocalVariable);
console.log(innerLocalVariable);
}
innerLocalFunction();
}
localFunction();
}
globalFunction();
4.this上下文对象
this是指向调用该方法的对象
var pet = {
word:"...",
speak:function(){
console.log('speak'+' '+this.word);
}
}
pet.speak();//this指向pet
var pet = function(word){
this.word = word;
this.speak = function(){
console.log('speak'+' '+this.word);
};
}
var cat = new pet("Miao");
cat.speak();
cat.word = "Miao Miao MIao ~";
cat.speak(); //指向cat对象
var dog = new pet("wang wang!");
dog.speak();
var petSpeak = function(){
console.log(this==window);
}
petSpeak();//true
var pet = {
word:"...",
speak:function(){
console.log(this.word);
}
}
pet.speak();
var dog = {
word:"wang wang~"
}
pet.speak.call(dog,'speak');