JavaScript 函数引用深度限制

标签 javascript

我想知道 JavaScript 是否有功能深度限制。我这么问是因为我正在开发一个复杂的应用程序,不幸的是,我们无法更改数据结构。

例如,如果我尝试引用一个变量,例如:

Thi.sIs.An.Except.ionally[345].LongF.unct.ional[z].Refer.ence.Thats[23].Sev.eral.Lay.ers[96].Deep

有时我可以设置和获取 Deep 结构及其成员的值(如果它位于同一窗口中),但如果我将此元素包含在另一个类中或尝试从另一个页面引用它,并且设置 Deep 的成员,然后 deep 稍后为其每个成员返回 null 或未定义。浏览器不会抛出错误,我只是得到意外的行为。

编辑:我想添加,我正在尝试从同一域上至少三层以下的嵌套框架引用Deep。例如,框架需要引用框架Course中的Deep,该框架位于主框架下方两层,但位于需要访问它的框架的单独分支上。我们继承的应用程序使用框架,但这些可以更改为 iframe。将它们更改为 iframe 也可以吗?

parent.Topic.Course.Thi.sIs.An.Except.ionally[345].LongF.unct.ional[z].Refer.ence.Thats[23].Sev.eral.Lay.ers[96].Deep

我在这里缺少什么吗?或者某种有关 JavaScript 功能深度的引用?

最佳答案

对于嵌套对象的距离似乎没有任何限制(或者如果有的话,它也非常高)。这段代码工作正常(注意我在 Chrome 中测试过它):

var ctr=1, obj={};
while( ctr < 1000000 ){ // 1 million
    obj = obj.obj = {}; ctr++;
};

我感觉您的问题与您尝试“从另一个页面”访问此内容有关。你能发布相关的代码吗?

关于JavaScript 函数引用深度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15974942/

相关文章:

javascript - 如何使用 docker-container 运行网络应用程序?

javascript - chrome应用程序如何触发chrome.printer Provider事件

javascript - Gulp Sass logError 和 gulp-notify 同时出现?

javascript - 函数在不应该异步运行时异步运行

javascript - 将查询结果传递到另一个页面的最佳方式

javascript - Polyfill 用于 object.value 返回 true 断言

javascript - 如何使用 Dojo Store 进行客户端数据缓存?

javascript - 删除表单字段中的所有文本后可以触发什么 jQuery 事件处理程序?

javascript - 使建议框延迟,以匹配搜索过渡的时间

javascript - jQuery 响应在浏览器中为空,但 curl 有效