var app = angular.module('myApp',[]);
app.controller('Ctrl', function ($scope) {
$scope.summary="this是动态生成对象,只有在function内部才起作用";
<!--第一种:谁调用指向谁-->
var name='dan';
var person = {
name: "dan1",
eat:function(){
return this.name +" eating something!"
}
};
console.log("情况一:"+person.eat());//情况一:dan1 eating something!
/*第二种:函数作为一个参数,该函数内部的this指向全局,对于浏览器来说就是window对象*/
setTimeout(function () {
console.log("情况二:"+this.name);//情况二:dan
},1000);
/*第三种:构造函数,this指向实例对象*/
function Person(name){
this.name=name;
}
var p=new Person('dan3');
console.log("情况三:"+p.name);//情况三:dan3
/*第四种:bind() call() applay(),指向该方法传递的第一个参数*/
});
chrom控制台输出如下: