Tag: 这个

“this”在ES6的箭头函数中提到了什么?

我已经在几个地方读到了,关键的区别是“ this是箭头函数的词汇绑定”。 这一切都很好,但我实际上并不知道这意味着什么。 我知道这意味着它在定义函数体的大括号的范围内是唯一的,但我实际上不能告诉你下面的代码的输出,因为我不知道this是指什么,除非它指的是胖箭头function本身….这似乎并不有用。 var testFunction = () => { console.log(this) }; testFunction();

我应该什么时候在课堂上使用“这个”?

我知道this是指一个当前的对象。 但是我不知道什么时候我真的需要使用它。 例如,如果我在某些方法中使用x而不是this.x ,会有什么区别吗? 可能是x将引用一个variables是所考虑的方法的本地? 我的意思是只有在这个方法中才能看到的variables。 那么this.method()呢? 我可以使用它吗? 我应该使用它。 如果我只是使用method() ,它会不会,默认情况下,应用到当前对象?

getContext(),getApplicationContext(),getBaseContext()和“this”

getContext() , getApplicationContext() , getBaseContext()和“ this ”有什么getBaseContext() ? 虽然这是个简单的问题,但我无法理解它们之间的基本区别。 如果可能,请给出一些简单的例子。

何时调用活动上下文或应用程序上下文?

有很多关于这两个环境是什么的post。但是我仍然没有把它说得很对 据我所知,到目前为止:每个是它的类的一个实例,这意味着一些程序员build议您尽可能经常使用this.getApplicationContext() ,以不“泄漏”任何内存。 这是因为另一个(获取Activity实例上下文)指向一个Activity ,每当用户倾斜手机或离开应用程序等被销毁。这显然是垃圾收集器(GC)不捕获,因此使用内存太多 但是,任何人都可以拿出一些非常好的编码示例,使用this (正在获取当前Activity实例的上下文)是正确的,而应用程序上下文将是无用/错误的?

AngularJS控制器中的'this'和$ scope

在AngularJS主页的“创build组件”部分 ,有这样的例子: controller: function($scope, $element) { var panes = $scope.panes = []; $scope.select = function(pane) { angular.forEach(panes, function(pane) { pane.selected = false; }); pane.selected = true; } this.addPane = function(pane) { if (panes.length == 0) $scope.select(pane); panes.push(pane); } } 注意select方法是如何被添加到$scope ,但addPane方法被添加到this 。 如果我将其更改为$scope.addPane ,则代码会中断。 该文件说实际上是有区别的,但是没有提到它们之间的区别: 先前版本的Angular(pre 1.0 RC)允许您与$scope方法交替使用,但现在不再这样了。 在范围内定义的方法this和$scope是可以互换的(angular将this设置为$scope ),但是在你的控制器构造函数中是不可以的。 this和$scope如何在AngularJS控制器中工作?

在JavaScript中使用“原型”与“this”?

有什么区别 var A = function () { this.x = function () { //do something }; }; 和 var A = function () { }; A.prototype.x = function () { //do something };

“this”这个关键字是如何工作的?

我注意到,似乎并没有清楚的解释this关键字是什么,以及它是如何正确(和不正确)在堆栈溢出网站的JavaScript中使用。 我目睹了一些非常奇怪的行为,不明白为什么会发生。 这是如何工作的,什么时候应该使用?

如何在callback中访问正确的`this`?

我有一个构造函数注册一个事件处理程序: function MyConstructor(data, transport) { this.data = data; transport.on('data', function () { alert(this.data); }); } // Mock transport object var transport = { on: function(event, callback) { setTimeout(callback, 1000); } }; // called as var obj = new MyConstructor('foo', transport); 但是,我无法访问callback中创build的对象的data属性。 看起来this不是指创build的对象,而是指向另一个对象。 我也尝试使用对象方法而不是匿名函数: function MyConstructor(data, transport) { this.data = data; transport.on('data', this.alert); } MyConstructor.prototype.alert = […]

在JavaScript原型函数中保留对“this”的引用

我只是开始使用原型JavaScript,我无法弄清楚如何在范围更改时从原型函数内部保留对主对象的引用。 让我来说明我的意思(我在这里使用jQuery): MyClass = function() { this.element = $('#element'); this.myValue = 'something'; // some more code } MyClass.prototype.myfunc = function() { // at this point, "this" refers to the instance of MyClass this.element.click(function() { // at this point, "this" refers to the DOM element // but what if I want to access the original "this.myValue"? […]