this相关内容
在 Java 中使用 this 关键字的最佳实践是什么?例如,我有以下课程: class Foo {吧台;公共 Foo(酒吧酒吧){this.bar = 酒吧;}} 这很好,但 Java 足够聪明,知道如果我将构造函数中的语句更改为 bar = bar; 那么为什么要使用 this 关键字?(我意识到在某些情况下,完全有必要使用它,我只是要求这样的情况).实际上,我倾向于纯粹为了可读性而
..
我知道 this 指的是当前对象.但我不知道什么时候我真的需要使用它.比如我在某些方法中使用x而不是this.x会有什么不同吗?可能 x 将引用一个变量,该变量对于所考虑的方法来说是局部的?我的意思是只在这个方法中看到的变量. this.method() 怎么样?我可以使用它吗?我应该使用它.如果我只使用method(),它会不会默认应用于当前对象? 解决方案 this 关键字主要用
..
通常,我只在构造函数中使用 this. 我知道它用于标识参数变量(通过使用this.something),如果它与全局变量具有相同的名称. 然而,我不知道 this 在 Java 中的真正含义是什么,如果我使用 this 而没有点 (.). 解决方案 this 引用当前对象. 每个非静态方法都在对象的上下文中运行.因此,如果您有这样的课程: public class M
..
我有一个抽象类 Flight.Flight 包含调用私有方法 schedule(final Flight f) 的方法 schedule() public void schedule(){时间表(这个);}私人无效时间表(最终航班 f){新定时器().调度(新定时器任务(){@覆盖公共无效运行(){f.checkIn();更新列表();}}, this.getDate());} 现在假设我有一
..
我知道 this 指的是当前对象.但我不知道什么时候我真的需要使用它.比如我在某些方法中使用x而不是this.x会有什么不同吗?可能 x 将引用一个变量,该变量对于所考虑的方法来说是局部的?我的意思是只在这个方法中看到的变量. this.method() 怎么样?我可以使用它吗?我应该使用它.如果我只使用method(),它会不会默认应用于当前对象? 解决方案 this 关键字主要用
..
通常,我只在构造函数中使用 this. 我知道它用于标识参数变量(通过使用this.something),如果它与全局变量具有相同的名称. 然而,我不知道 this 在 Java 中的真正含义是什么,如果我使用 this 而没有点 (.). 解决方案 this 引用当前对象. 每个非静态方法都在对象的上下文中运行.因此,如果您有这样的课程: public class M
..
我在 ArrayList.java 中从 jdk 8 中找到了一个片段: @SuppressWarnings("unchecked")公共 E 下一个(){checkForCommodification();int i = 游标;如果 (i >= 大小)抛出新的 NoSuchElementException();Object[] elementData = ArrayList.this.ele
..
我的代码是: var 长度 = 20;函数 fn(){控制台日志(this.length);}var o = {长度:10,e:函数(fn){fn();参数[0]();}}o.e(fn); 输出是20,1,谁能告诉我为什么? 解决方案 当 this 关键字出现在函数内部时,其值取决于函数的调用方式. 在您的情况下,fn() 被调用时没有提供 this 值,因此默认值为 windo
..
以下代码无法编译.为什么? A 类{国际 j;void f(int i = this->j);} 编辑,为清楚起见.这就是我想要做的,使用更少的代码行... A 类{void f(int i){};无效 f( );国际 j;};无效 A::f(){缩略词 );} 解决方案 默认参数值在编译时绑定. “this"只在运行时定义,所以不能使用. 请参阅此处以获得更完整的解释:C+
..
我刚刚注意到,当我想将字符串作为 "this" 传递时,无法在 JavaScript 函数中正确获取类型. 这是一个例子: var str = '字符串值';if (typeof (str) == 'string') {alert('字符串在外面');}var fn = 函数{if (typeof (str) == 'string') {alert('字符串参数');}if (typeof
..
我试过了: //mod.js变量 a = 1;this.b = 2;出口.c = 3;//测试.jsvar mod = require('./mod.js');控制台日志(mod.a);//不明确的控制台日志(mod.b);//2控制台日志(mod.c);//3, 所以这个 === 导出? 所以我认为 require() 可能是这样实现的: var require = function (f
..
在这篇帖子中,有很多答案讨论了this JavaScript 中的关键字.但是,我仍然将匿名函数中的this混淆如下 //MyModule.js'使用严格';(功能(处理程序){//导出方法handler.B = B;handler.A = A;函数 A() {控制台日志(这个);console.log('函数 A 被调用...');}函数 B() {控制台日志(这个);console.log(
..
原型函数 bar 在 Node.js 环境中的其他地方执行(其中 bind 应该可用).我希望 bar() 函数中的 this 成为我的对象的实例: var Foo = function (arg) {this.arg = arg;Foo.prototype.bar.bind(this);};Foo.prototype.bar = 函数 () {控制台日志(这个);//不是我的对象!控制台日志(
..
我有这样的代码: function demo() {this.val=5;功能() {this.val=7;}();} 现在,当我在 firefox 或 chrome 控制台中执行此代码时,它会出现语法错误.我不明白为什么这是一个错误,因为我已经读过 javascript 函数是对象,所以当我调用匿名函数时,在它里面 this 指向函数 demo 并且应该更改 val 到 7,所以如果我这样做
..
背景: 我有一个由 Z-combinator 实现的递归函数,如图所示此处 和 这里所以它不使用arguments.callee,因为它将在即将到来的ES6中被弃用. 问题 Z-combinator 和我目前看到的所有递归匿名函数的主要问题是它们将 de this 值更新到内部函数作用域(在 return 子句处自返回),所以引用顶层的 this 丢失了,我想通过所有内部函数来维
..
谁能向我解释为什么 A 为真而 B 为假?我也希望 B 是真的. function MyObject() {};MyObject.prototype.test = 函数 () {console.log("A", this instanceof MyObject);(功能 () {console.log("B", this instanceof MyObject);}());}new MyObje
..
我正在使用 webkitRequestAnimationFrame 但我在对象内部使用它时遇到问题.如果我传递 this 关键字,它将使用 window 并且我找不到一种方法来代替它使用指定的对象. 示例: Display.prototype.draw = function(){this.cxt.clearRect(0, 0, this.canvas.width, this.canvas.
..
在这里我的Plunker(修改了Tour of Heroes 应用程序来自官方文档)我在 hero.service 中创建了这个方法 doHeroesExist(): boolean {console.log("doHeroesExist 调用..", this.heroesExist);alert("doHeroesExist 调用了.." + JSON.stringify(this.he
..
我在 Angularjs 中使用 services 指令非工厂,我需要将 json 文件填充到本地变量; /* 包含镇上的项目 */leMaireServicess.service('cityService', function($http) {//JSON 区域和城市加载器this.cities = [];//初始化城市this.initCities = 函数(){this.cities =
..
在AngularJS主页的“创建组件"部分,有这个例子: controller: function($scope, $element) {var 窗格 = $scope.panes = [];$scope.select = 函数(窗格){angular.forEach(窗格,功能(窗格){窗格.selected = false;});窗格.selected = true;}this.addPan
..