首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在已定义的属性中"this“作用域是错误的?

在已定义的属性中,"this"作用域是错误的是因为在属性的定义过程中,"this"关键字指向的是定义该属性的对象本身。然而,在属性的定义过程中,该属性还没有被完全创建,因此无法正确引用该属性。

具体来说,当我们在对象的定义中使用"this"关键字时,它指向的是当前正在创建的对象。但是,在属性的定义过程中,"this"关键字指向的是全局对象,而不是正在创建的对象。这是因为属性的定义是在对象创建之前执行的,此时还没有创建对象的实例。

举个例子来说明,假设我们有一个Person对象,其中有一个name属性的定义如下:

代码语言:javascript
复制
function Person(name) {
  this.name = name;
}

在这个例子中,当我们创建一个Person对象时,"this"关键字指向的是正在创建的对象。但是,在属性的定义过程中,"this"关键字指向的是全局对象,而不是Person对象本身。因此,在属性的定义中使用"this"作用域是错误的。

为了解决这个问题,可以使用其他方式来引用属性,例如使用闭包或者在对象创建后再进行属性的赋值操作。

总结起来,"this"作用域在已定义的属性中是错误的,因为在属性的定义过程中,"this"关键字指向的是全局对象,而不是正在创建的对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SwiftUI 作用动画

前言从一开始,动画就是 SwiftUI 最强大功能之一。你可以 SwiftUI 快速构建流畅动画。...但是,动画视图修饰符不连接到 isHidden 属性,这意味着它将动画显示可能发生任何更改。其中一些更改可能意外,比如环境值变化。...0 : 20.0) } } }}正如你所看到,SwiftUI 提供了一种类似的方法,以视图层次结构维护有作用事务。...总结这篇文章介绍了SwiftUI构建动画新方法,重点解决了多步动画或特定视图层次结构控制动画挑战。...最后,介绍了 SwiftUI 构建有作用事务新方法,以维护更具精确性和可控性动画。这些新功能在最新平台上可用,为SwiftUI开发者提供了更强大动画工具。

17110

vue:style标签scoped属性作用)和lang属性介绍

注明:使用这个lang属性需要安装scss(sass) 4、scoped属性 scoped指定样式局部作用vue:App.vue相当于根容器,不设置scoped。...所以一般App.vue引用公共样式。而在其它.vue页面中用scoped,代表当前样式只作用于当前.vue页面。不作用于其它.vue页面。...Vuestyle lang=" "和scpoed 普通style标签只支持普通样式,如果想启用scss或者less,需要为style元素设置lang属性 1 <style lang="scss...标签, <em>是</em><em>在</em> .vue 组件<em>中</em><em>定义</em><em>的</em>,那么,推荐都为 style 开启 scoped <em>属性</em> 4 body { 5 div { 6 font-style: italic; 7 } 8 } 9 </style...webpack模版的话就是用lang="scss" ---- 以下关于sass引入和使用,下面讨论一些关于sass项目里面如何结构化,和模块化使用: 1:分散式(参考大部分后台系统) 分散式

4.1K20
  • data自定义属性jQuery用法

    (1)如果在HTML文档设置data-自定义属性单个字符串名称属性若有大写值,js文件获取时只能用小写形式获取。...如: HTMLdata-Role,获取当时为$(node).data(“role”); (2)如果在HTML设置data-role和data-Role一样,html属性不区分大小写。...然后我们从验证结果可以看出,js只会找到第一个与其匹配就直接返回。 (3)如果用js来设置data属性,那么如果你定义大写格式,则访问也必须大写形式。...最后讲一下data()和attr()区别: (1) 是否需要传参: data() 可以不传入参数,这使获得一个js对象,就算你html没有设置任何data自定义属性时,获得也是一个对象。...(4)data-attribute属性会在页面初始化时候放到jQuery对象,被缓存起来,而attr方法却不会。

    2.9K20

    你知道Python4种变量作用哪些吗?

    01 作用 ---- Python作用可以分为四种: L(Local) 局部作用 E(Enclosing) 闭包函数外函数 G(Global) 全局作用...B(Built-in) 内建作用 变量/函数 查找顺序: L –> E –> G –>B 意思局部找不到,便去局部外局部作用找(例如 闭包),再找不到就去全局作业里找,再找不到就去内建作业域中找...一个外函数定义了一个内函数,内函数里运用了外函数临时变量,并且外函数返回值内函数引用。这样就构成了一个闭包。其实装饰函数,很多都是闭包。...好像并不难理解,为什么初学者会觉得闭包难以理解呢? 我解释一下,你就明白了。 一般情况下,我们认知当中,如果一个函数结束,函数内部所有东西都会释放掉,还给内存,局部变量都会消失。...---- 变量作用,与其定义(或赋值)位置有关,但不是绝对相关。

    2.1K10

    时候该知道ReactKey属性作用与最佳实践了!

    本文将详细介绍Reactkey属性作用、原理,并提供一些最佳实践。 一、Key属性作用 Key属性React要求使用者渲染多个组件时提供一个特殊属性。...三、Key属性最佳实践 根据对key属性作用和原理理解,以下一些使用key属性最佳实践建议: 使用唯一且稳定值:为了确保key属性有效性,我们应该尽量使用唯一且稳定值作为key。...通常情况下,使用列表每个元素唯一标识(如id)作为key一个不错选择。 避免使用索引作为key:列表或循环渲染场景,有时会考虑使用索引作为key。...然而,这种做法可能导致一些问题,列表发生变化时,React可能会错误地复用组件实例,导致出现渲染错误或不必要性能损失。...,key属性列表或循环生成组件时起到了至关重要作用

    1K10

    为什么StringJava不可变

    String Java 不可变。 不可变类只是一个无法修改其实例类。 创建实例时,将初始化实例所有信息,并且无法修改信息。 不可变类有许多优点。...本文总结了为什么 String 设计为不可变。 这篇文章从内存,同步和数据结构角度说明了不变性概念。 1. 字符串池 字符串池(String intern pool)方法区域中特殊存储区域。...创建字符串并且池中存在该字符串时,将返回现有字符串引用,而不是创建新对象。 以下代码将在堆仅创建一个字符串对象。...如果字符串可变,则使用一个引用更改字符串将导致其他引用错误。 2. 缓存哈希码 字符串哈希码经常在 Java 中使用。 例如, HashMap 或 HashSet 。...字符串不是不可变,连接或文件将被更改,这可能会导致严重安全威胁。 该方法认为它连接到一台机器,但事实并非如此。 可变字符串也可能在 Reflection 引起安全问题,因为参数字符串。

    1.3K20

    万物皆对象,Python属性如何定义??

    你们老朋友Java学术趴。 11.2.4 属性 属性就是类里面定义变量。定义类里面、方法外面的属性称为类属性定义方法里面使用 self引用属性称之为实例属性。...# 在这个函数声明属性称为实例使用,这个函数属性专门给类实例方法使用 # 这个函数不用我们手调用,创建类对象时候他会自动调用,这个函数用于初始化数据 def...cat.eat() # 小猫咪吃猫粮 复制代码 注意:实例方法只能访问实例变量不可以访问类变量,类对象可以访问实例属性和类属性 11.2.5 实例对象给类添加属性 # 类全部组成...(self): """ 定义实例方法属性称为实例属性 """ # 类实例方法只能访问到类实例属性 print...存在这个类所有属性 定义实例方法属性称为实例属性 """ # 类实例方法只能访问到类实例属性 print('小猫年龄

    2.2K10

    前端测试题:有关于js请求说法,错误

    所谓同源指"协议+域名+端口"三者相同,即便两个不同域名指向同一个ip地址,也非同源。 跨请求安全性问题 为什么浏览器要限制跨请求,其中最主要原因就是安全性问题,比如CSRF攻击。...JSONP请求 ajax请求不同会出现跨请求,无访问权限,但平时HTML页面写、这些标签src属性不受跨请求限制,于是,JSONP策略就是服务器端可以动态生成...JSON文件,把客户端需要数据放到这个文件,让客户端通过标签src属性来请求这个文件,这样,一种解决方案就出来了 不过,JSONP方式无法发送POST请求,只能通过URL后面带参数实现...ES6基于promise实现,也可以结合async/await....方法; 答案:错误 A.

    1.3K20

    前端测试题:继承,关于super说法错误?

    class Point { } class ColorPoint extends Point { } 上面代码定义了一个ColorPoint类,该类通过extends关键字,继承了Point类所有属性和方法...() } } 上面代码,constructor方法和toString方法之中,都出现了super关键字,它在这里表示父类构造函数,用来新建父类this对象 super这个关键字,既可以当作函数使用...在这两种情况下,它用法完全不同。 super作为函数调用时,代表父类构造函数。ES6 要求,子类构造函数必须执行一次super函数。...class A {} class B extends A { constructor() { super(); } } 子类B构造函数之中super(),代表调用父类构造函数。...这是必须,否则 JavaScript 引擎会报错。 参考代码: super父类引用,我们可以通过super来调用父类方法和属性

    3.1K30

    如何验证Rust字符串变量超出作用时自动释放内存?

    讲动人故事,写懂人代码公司内部Rust培训课上,讲师贾克强比较了 Rust、Java 和 C++ 三种编程语言变量越过作用时自动释放堆内存不同特性。...Rust 自动管理标准库数据类型(如 Box、Vec、String)堆内存,并在这些类型变量离开作用时自动释放内存,即使程序员未显式编写清理堆内存代码。...席双嘉提出问题:“我对Rust字符串变量超出作用时自动释放内存机制非常感兴趣。但如何能够通过代码实例来验证这一点呢?”贾克强说这是一个好问题,可以作为今天作业。...= Jemalloc;fn main() { { // 进入一个新作用作用用大括号 `{}` 包围代码块 // 创建一个包含 100M 大字符串定义结构体...("Initial memory usage: {} KB", initial_memory); { // 进入一个新作用作用用大括号 `{}` 包围代码块

    25821

    Viterbi(维特比)算法CRF(条件随机场)如何起作用

    ,以便大家更好理解CRF为什么能够得到最优标签序列。...通过阅读本文你将能回答如下问题: 什么维特比算法? 为什么说维特比算法一种动态规划算法? 维特比算法具体怎么实现?...首先,让我们简单回顾一下BERT和CRF命名实体识别各自作用: 命名实体识别,BERT负责学习输入句子每个字和符号到对应实体标签规律,而CRF负责学习相邻实体标签之间转移规则。...详情可以参考这篇文章CRF命名实体识别如何起作用?。...还记得上一篇文章介绍条件随机场(CRF)时候提到,条件随机场其实是给定了观测序列马尔可夫随机场,一阶马尔可夫模型定义了以下三个概念: 状态集合Q,对应到上面的例子就是: {B-P, I-P,

    1.4K00

    Viterbi(维特比)算法CRF(条件随机场)如何起作用

    ,以便大家更好理解CRF为什么能够得到最优标签序列。...通过阅读本文你将能回答如下问题: 什么维特比算法? 为什么说维特比算法一种动态规划算法? 维特比算法具体怎么实现?...首先,让我们简单回顾一下BERT和CRF命名实体识别各自作用: 命名实体识别,BERT负责学习输入句子每个字和符号到对应实体标签规律,而CRF负责学习相邻实体标签之间转移规则。...详情可以参考这篇文章CRF命名实体识别如何起作用?。...还记得上一篇文章介绍条件随机场(CRF)时候提到,条件随机场其实是给定了观测序列马尔可夫随机场,一阶马尔可夫模型定义了以下三个概念: 状态集合Q,对应到上面的例子就是: {B-P, I-P,

    1.3K50

    【实战技巧】CSS自定义属性以及VUE3使用

    ---- 什么css自定义属性 官方称之为 自定义属性 ,但我比较习惯叫它 变量 ,简单点说就是一种开发者可以自主命名和使用 CSS 属性. CSS变量和预处理器变量有什么不同?...CSS变量浏览器中直接可用CSS属性,而预处理变量用于编译成常规CSS代码,浏览器其实对它们一无所知。...我们可以 样式表 内联样式 SVG标签 中直接使用CSS变量,甚至可以 运行时 用JavaScript直接修改它。但是我们 无法 对预处理器变量做上面这些操作....假如只是定义了一个自定义元素和它属性值,浏览器不会做出反应。如下面的代码, .foo 字体颜色由color决定,但--theme-color对.foo没有作用。...VUE3.0,可以CSS中使用 响应式变量, 通过下图可以看出,它原理就是运用了CSS自定义属性 我们先在HelloWorld.vue写入下方代码,我们使用定时器两秒以后修改color值,

    2.7K20

    【Android Gradle 插件】Gradle 扩展属性 ② ( 定义根目录 build.gradle 扩展属性 | 使用 rootProject.扩展属性名访问 | 扩展属性示例 )

    文章目录 一、定义根目录 build.gradle 扩展属性 二、扩展属性示例 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...build.gradle 扩展属性 ---- org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org...Module 模块下 build.gradle 都可以获取到该扩展属性值 ; Module 下 build.gradle 可以使用 rootProject.扩展属性名 来访问定义根目录...build.gradle 定义扩展属性值 ; 二、扩展属性示例 ---- 根目录下 build.gradle 定义扩展属性 : // 定义扩展属性 , 其中变量对所有子项目可见 ext {...} build.gradle 定义 变量 , 然后自定义 task 任务 , 输出该变量 , 代码如下 : // 定义局部变量 def hello = 'Hello World!'

    2.9K20

    Nginx作用详解,为什么Web服务器Nginx比例越来越高?

    反向代理作用: 保证内网安全,通常将反向代理作为公网访问地址,Web服务器内网 负载均衡,通过反向代理服务器来优化网站负载 项目场景 通常情况下,我们实际项目操作时,正向代理和反向代理很有可能会存在在一个应用场景...图解: 正向代理,Proxy和Client同属于一个LAN(图中方框内),隐藏了客户端信息; 反向代理,Proxy和Server同属于一个LAN(图中方框内),隐藏了服务端信息; 实际上,Proxy...两种代理事情都是替服务器代为收发请求和响应,不过从结构上看正好左右互换了一下,所以把后出现那种代理方式称为反向代理了。...负载均衡实际项目操作过程,有硬件负载均衡和软件负载均衡两种,硬件负载均衡也称为硬负载,如F5负载均衡,相对造价昂贵成本较高,但是数据稳定性安全性等等有非常好保障,如中国移动中国联通这样公司才会选择硬负载进行操作...Nginx支持负载均衡调度算法方式如下: weight轮询(默认):接收到请求按照顺序逐一分配到不同后端服务器,即使使用过程,某一台后端服务器宕机,Nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响

    3K30

    Golang知识点(defer): 面试经常变量 defer 值, 其实在问变量作用

    有没有想过, 面试中经常问 变量 defer 之后值, 其实是问 函数变量作用 简单说, defer 就是将当前操作放入 堆 , 等待触发 return 时候再拿出来执行。...符合堆特色, 先进后出。 从细节来了, 还需要注意 变量 defer 作用 ? 函数 执行操作 入堆前还是后 ? defer 函数发生了 panic 会怎样 ?...核心: 函数变量作用 defer 执行时间 闭包 指针 知识点 这里面所有的内容都可以 Effective Go 解决 贪婪算法 什么贪婪算法, 就是找到局部最优解, 合并后就是全局最优解。...所以通常面试中有 defer 问题都不是考 defer , 只不过披上了 defer 狼皮。 函数及返回值 其实 go 关于函数返回花样还是挺多。...如果对 函数变量作用 理解不清楚的话, 就容易掉坑。

    77420

    利用 ReSharper 自定义代码错误模式,代码审查之前就发现并修改错误

    利用 ReSharper 自定义代码错误模式,代码审查之前就发现并修改错误 发布于 2018-03-20 11:54...---- 预览效果 我们团队定义了一个代码风格规范,单元测试 Assert.AreEqual(foo.GetType(), typeof(Foo)); 应该被换成 Assert.IsInstanceOfType...设置完之后,“Edit Highlighting Pattern”窗口应该是这样: ? 当然,“Custom Pattern”列表也可以统一设置所有模式警告级别。 ?...才不止这样哦!它能够帮助我们发现一些潜在错误。...于是,我们可以编写一个自定义模式来发现和修改这样错误。 ? 你认为可以怎么写呢?我在下面给出了我写法。你还可以发掘出更多潜能吗?非常期待! ?

    1.5K00

    为什么深度学习,AlphaGo Zero一个巨大飞跃?

    解决方案将玩家数量设置为零。 深度学习技术最新突破,有很多可以理解东西。DeepMind利用了深度学习层,结合了更多经典强化学习方法来达到一种艺术形式。...AlphaGo ZeroDeepMind自动操作系统最新化身。有人可能会认为,围棋击败人类世界冠军很难。...Lockhart和其他一些人提到,它几乎同时各种各样斗争战斗,采用了一种对人类玩家来说有点疯狂方法,它们可能会花更多精力棋盘上更小区域上。 第三点,训练时间也比之前版本少得多。...该网络通过将自身与外部训练数据进行比较,而不是从先前版本神经网络获得合成数据来学习。 第四点之前系统,它只需要4个Google TPUs,而之前需要48个TPUs。...它可以有效地做到这一点,因为所有其他不确定因素都是已知。也就是说,一系列行为结果没有不确定性,行为效果可以预测。简而言之,博弈行为可以预测

    93880

    资源共享(CORS)ASP.NET Web API如何实现

    《通过扩展让ASP.NET Web API支持W3CCORS规范》,我们通过自定义HttpMessageHandler自行为ASP.NET Web API实现了针对CORS支持,实际上ASP.NET...:提取预定义CORS授权策略并对当前请求实施授权检验,并根据授权检验结果为现有的响应(针对简单跨资源请求和继预检请求之后发送真正跨资源请求)或者新创建响应(针对预检请求)添加相应CORS报头...SendAsync方法调用自定义扩展方法CreateCorsRequestContext根据表示当前请求HttpRequestMessge对象创建出表示针对CORS资源请求上下文CorsRequestContext...然后我们根据CorsRequestContextIsPreflight属性判断当前是否一个预检请求。...如果请求没有通过授权检验,我们会返回一个状态为“400, Bad Request”响应,通过CorsResultErrorMessage属性提取错误消息(表示授权失败原因)会作为响应主体内容。

    2.5K110
    领券