时间戳转换器

未捕获的类型错误:无法设置未定义的属性 [重复]

日期:2023-02-22     浏览:53    
【中文标题】未捕获的类型错误:无法设置未定义的属性 [重复]【英文标题】:Uncaught Type Error: Cannot set property of undefined [duplicate] 【发布时间】:2015-03-14 08:06:14 【问题描述】:

代码如下,很简单:

(function() 
  "use strict";

  // Define our constructor
  this.White = function() 
    this.version = "1.0.0";
  ;
());

// Later
a = new White();
alert(a.version);

在JSBin 中(以及在运行JShint 时),它可以正常工作。 添加"use strict" 后在JSBin 中不起作用。但是,在 Chrome 中运行此脚本时,我会收到以下模糊消息:

未捕获的类型错误:无法设置未定义的属性“白色”

为什么?!

【问题讨论】:

因为use strict this 是undefined,否则它将是全局对象。 您的代码期望 this 是对全局对象的引用。在您的代码中(在 jsbin 之外),如果外部范围处于“严格”模式,则 this 将是 undefined(因为这就是“严格”模式的工作方式)。 @elclanrs 谢谢,这确实有道理!所以我只需要window.White 而不是this.White 对吗? 请注意,JSBin 似乎已在您发布的 sn-p 中没有 "use strict"; 的情况下保存。 @JonathanLonowski 我的错,感谢您指出这一点。将 'use strict'; 添加到 JSBin 也会破坏它.. 更新标题。 【参考方案1】:

使用严格模式不会让你创建隐式全局变量。this.White 被全局提升并且它是隐式创建的。所以删除它会删除错误Strict Mode

【讨论】:

如果你不想禁用严格模式,你可以简单地将this.White = ...替换为window.White = ...,用于基于浏览器的JS。

相关文章

未捕获的类型错误:无法设置未定义的属性“背景”

{】未捕获的类型错误:无法设置未定义的属性“背景”【英文标题】:UncaughtTypeError:Cannotsetproperty\'background\'ofundefined【发布时间】:2016-05-1309:44:31【问题描述】:我正在尝试在页面加载时加载css背景图像,但出现此错误functionload...}

与 ES7 反应:未捕获的类型错误:无法读取未定义的属性“状态”[重复]

{】与ES7反应:未捕获的类型错误:无法读取未定义的属性“状态”[重复]【英文标题】:ReactwithES7:UncaughtTypeError:Cannotreadproperty\'state\'ofundefined[duplicate]【发布时间】:2016-05-1904:42:28【问题描述】:每当我在AuthorForm的输入框中键入...}

错误(索引):74 未捕获的类型错误:无法设置未定义的属性“cmd”

{】错误(索引):74未捕获的类型错误:无法设置未定义的属性“cmd”【英文标题】:Error(index):74UncaughtTypeError:Cannotsetproperty\'cmd\'ofundefined【发布时间】:2019-07-0202:17:32【问题描述】:您好,我正在尝试在反应组件中创建一个html...}

未捕获的类型错误:无法设置未定义数据表的属性“_DT_CellIndex”

{】未捕获的类型错误:无法设置未定义数据表的属性“_DT_CellIndex”【英文标题】:UncaughtTypeError:Cannotsetproperty\'_DT_CellIndex\'ofundefinedDataTable【发布时间】:2020-06-2811:51:23【问题描述】:我在laravel/Vuejs中使用Datatalbe,数据已完美加...}

错误:`未捕获(承诺中)类型错误:无法读取未定义的属性'doc'`

{】错误:`未捕获(承诺中)类型错误:无法读取未定义的属性\\\'doc\\\'`【英文标题】:error:`Uncaught(inpromise)TypeError:Cannotreadproperty\'doc\'ofundefined`错误:`未捕获(承诺中)类型错误:无法读取未定义的属性\'doc\'`【发布时间】:2021...}

反应和流星“未捕获的类型错误:无法读取未定义的属性'createElement'”

{】反应和流星“未捕获的类型错误:无法读取未定义的属性\\\'createElement\\\'”【英文标题】:ReactandMeteor"UncaughtTypeError:Cannotreadproperty\'createElement\'ofundefined"反应和流星“未捕获的类型错误:无法读取未定义的属性\'createElem...}

React - 未捕获的类型错误:无法读取未定义的属性“func”

{】React-未捕获的类型错误:无法读取未定义的属性“func”【英文标题】:React-UncaughtTypeError:Cannotreadproperty\'func\'ofundefined【发布时间】:2018-04-2109:41:56【问题描述】:我收到错误消息:未捕获的类型错误:无法读取未定义的属性\...}

反应 - 未捕获的类型错误:无法读取未定义的属性“toLowerCase”

{】反应-未捕获的类型错误:无法读取未定义的属性“toLowerCase”【英文标题】:React-UncaughtTypeError:Cannotreadproperty\'toLowerCase\'ofundefined【发布时间】:2021-10-1317:42:50【问题描述】:在输入字段中输入颜色名称后,当我提交表单时,...}

未捕获的类型错误:无法读取未定义的属性“注册”

{】未捕获的类型错误:无法读取未定义的属性“注册”【英文标题】:UncaughtTypeError:Cannotreadproperty\'register\'ofundefined【发布时间】:2019-10-2213:18:26【问题描述】:我在我的wordpress项目中使用pushpad.xyz推送通知。我添加了pushpad代码...}

未捕获的类型错误:无法读取未定义的属性“线性”

{】未捕获的类型错误:无法读取未定义的属性“线性”【英文标题】:UncaughtTypeError:Cannotreadproperty\'linear\'ofundefined【发布时间】:2016-11-2120:46:28【问题描述】:我是D3新手,在我的演示脚本中遇到以下错误-FirstD3.jsp:31UncaughtTypeErro...}

Copyright ©2021 时间戳转换器 小常识 114pp | 陕ICP备18005036号