问题标签 [javascript-objects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 从成员方法中访问 javascript 对象引用
好的,我想知道是否可以将对象的引用转移到函数中。如果您不明白我想说什么,这可能会有所帮助:
因此,对于更新功能,我希望能够执行以下操作:
它给了我Editor
对象中的变量(编辑、动态、旧)。谢谢。
javascript - 在 JavaScript 中更改对象的类型
我有一个用 JSON 定义的现有对象数组。对象显然属于 Object 类型。如何将它们与自定义对象类型相关联以赋予它们特定功能?
javascript - 对象属性始终未定义
这是我第一次使用 JS 对象,我很困惑为什么这个属性总是未定义:
我得到的错误是:
未捕获的类型错误:无法读取未定义的属性“0”
返回的 JSON 工作正常,并且在控制台中将 fetch 标记为已调用(记录时数据也很好)。为什么 Rotator.images 总是未定义?
编辑:一些 console.log 结果:
- 登录
data.images
会$.getJSON
产生正确的数据。 - 登录
links
会Fetch
产生正确的数据。 - 登录
this.images
会Fetch
产生正确的数据。 - 登录结果
this.images
为Current
空。
javascript - Chrome 重新排序对象键(如果是数字)是正常/预期的吗
我注意到某些代码会评估电子商务网站的某些鞋码并将它们输出到屏幕上,这会扰乱 Chrome 中的顺序。
给出的 JSON 可以是:
...将大小减半。
在转换为对象并通过键迭代时,自然顺序受到尊重,它们如下所示:
7、7.5、8、8.5 等
但仅在 Chrome 中,“看起来”像整数的键总是首先从对象中出来,所以 for... in 循环的输出是:
7, 8, 9, 7.5, 8.5, 9.5 ...
这是测试用例:https ://jsfiddle.net/wcapc46L/1/
它只影响整数,似乎 Webkit / Blink 有一个优化,它更喜欢数字对象属性,可能与分支预测或其他有关。
如果您为对象键添加任何字符的前缀,则顺序不受影响并按预期工作 - FIFO
我想我记得读过,不能保证对象的属性顺序,但与此同时,这非常烦人,并且单独为 chrome 用户修复它会导致相当大的努力。
有任何想法吗?这可能是一个会得到修复的错误吗?
另外编辑,我现在发现这是 v8 错误跟踪器上的一个问题:
https://code.google.com/p/v8/issues/detail?id=164
看起来 Blink 不想解决这个问题,并且仍然是唯一可以解决这个问题的浏览器。
更新任何哈希表优化 webkit/blink,现在已经进入 gecko (FF 27.0.1) - https://jsfiddle.net/9Htmq/导致
7,8,9,7.5,8.5,9.5
._
在键返回正确/预期的顺序之前应用。更新 2017人们仍在投票和编辑它 - 它似乎不会影响
Map
/WeakMap
等Set
(如更新的主要示例所示)
javascript - jqGrid动态选择字段
有没有办法动态修改 colModel 中状态字段的值?假设我们有一个 col 模型,其字段如下:
所以我得到一个带有这个值的状态的选择字段。但我需要动态决定哪些选择字段应该是可能的。如果当前行的状态为 state0,则只显示 state0 和 state1。如果 state 是 state1,则显示应该是 state0、state1 和 state2,依此类推,直到 state 4,它应该只显示 stae3 和 state4。
我能用格式化程序解决这个问题,还是有其他方法可以做到这一点。
为了使它更困难,假设通常显示的状态取决于在我的应用程序中登录的用户。在某种程度上,用户只能看到 state0、state2 和 state4。这可能会变得更加复杂,因为当前用户不允许 state3 和 state4 之间的转换。
然而,状态本身也是动态的。为我的应用程序中的对象动态生成 javascript 是否有帮助,该对象代表一般状态类并使用此对象在格式化程序中生成我需要的输出?所以我可以封装这个对象中的逻辑,我的输出是如何生成的,另外我只得到用户能够看到的状态。
应该让我用一块石头杀死两只鸟。
重读后我希望它清楚我想做什么,如果没有告诉我,我会更详细地解释它。
具体问题的解决方案,感谢 oleg:
我遇到了一些麻烦,因为该函数只被调用了一次。所以我必须在 Navgrid 中设置 recreateForm 选项。
之后,每次单击编辑时都会触发我的功能。希望这对某人有所帮助。
jquery - javascript var返回对象对象何时应该返回一个int或字符串
我有两个 ajax 函数并使用第一个将一些数据传递给第二个但是当我查看 POST 时,我看到对于我被发送的变量我得到对象 Object 作为变量的值返回,而不是什么我期待一个字符串或一个整数。javascript看起来像这样,
javascript - 在 JS 中从另一个方法调用一个方法
我有以下 JS 片段
我如何从 ShipProduct 调用 Notify?
javascript - 有没有比设置变量更好的方法?
在我的 javascript 对象中,我发现自己在写这个:
似乎这是将成员变量传递给外部函数的唯一方法......
这不起作用,我必须将对象复制到成员变量中并传递新对象(并将所有对象替换this
为this_object
)
这感觉很丑。有没有“更好”或“更清洁”的方式,或者这是我唯一的选择?
javascript - 在 Javascript 控制台中输入 {a:1} 给出 1 和 {a:1, b:2} 给出错误的行为是什么?
以下将显示在 Firebug 或jsconsole.com或其他 Javascript 交互式控制台中:
为什么1
返回{a : 1}
,为什么{a : 1, b : 2.2}
给出错误?在 Ruby 中,它们会以您定义它的方式返回。
javascript - JavaScript 如何进行 OOP?
我正在学习如何在 JavaScript 中创建对象。当我这样做...
我知道我正在创建一个 Person 类的实例,但我不知道如何(或是否)可以重用该类来创建另一个实例。JavaScript 有哪些 OOP 特性?它是否具有与其他语言(如 Java 或 Ruby)相同的 OO 特性?有人可以解释一下JavaScript是如何做OOP的吗?