一、head全局对象
var string = 'string';
var func = function () {};
console.log('string' in window);
console.log('func' in window);
var test = 'flten';
var func2 = function () {
var func3 = function () {
console.log(test);
}();
}
func2();
console.log(window.test);
var name = 'flten';
var win1 = window;
var win2 = this;
console.log(win1,win2);
console.log(win1.name,win2.name);
二、this关键字的指向问题
var body = {
name : 'flten',
age : 22,
love : 'coding',
work : function () {return body.love},
work2 : function () {return this.love}
}
console.log(body.work());
console.log(body.work());
var obj = 'flten';
var myObj = { obj : 'coding' };
var testFun = function () {
console.log(this.obj);
}
myObj.testFun = testFun;
testFun();
myObj.testFun();
var test = {
func1 : function () {
console.log(this);
var func2 = function () {
console.log(this);
var func3 = function () {
console.log(this);
}()
}()
}
}
test.func1();
var test2 = {
func2 :function (code) {
code();
console.log(this);
}
}
test2.func2 (function () { console.log(this) });
var objc = {
myObj : 'Talk is easy,show me the code',
myMethod : function () {
var that = this;
var temObj = function () {
console.log(that.myObj);
console.log(this);
}();
}
}
objc.myMethod();
var myObj = {};
var myFun = function (name,age) {
this.name = name;
this.age = age;
console.log(this)
}
myFun();
myFun.call(myObj,'flten',22);
console.log(myObj);
myFun.apply(myObj,['wall',23]);
console.log(myObj);
var Person = function (name) {
this.name = name;
}
var personOne = new Person('flten');
console.log(personOne.name);
var personTwo = Person('wall');
console.log(window.name);
var Person2 = function (x){
if(x) {this.fullName = x};
};
Person2.prototype.myFullName = function () {
return this.fullName;
}
var person1 = new Person2('flten');
var person2 = new Person2('wall');
console.log(person1.myFullName(),person2.myFullName());
Object.prototype.fullName = 'Dennis';
Person2.prototype.fullName = 'Ricther';
var person4 = new Person2('cinderella');
var person3 = new Person2();
console.log(person3.myFullName());
console.log(person4.myFullName());