有没有一种方法或特性从对象中获取所有方法? 例如: function foo() {} foo.prototype.a = function() {} foo.prototype.b = function() {} foo.get_methods(); // returns ['a', 'b']; 更新:有没有像在JQuery中的任何方法? 谢谢。
在迭代对象的属性时,在for-in循环中删除它们是否安全? 例如: for (var key in obj) { if (!obj.hasOwnProperty(key)) continue; if (shouldDelete(obj[key])) { delete obj[key]; } } 在许多其他语言迭代数组或字典和删除里面是不安全的。 在JS中可以吗? (我正在使用Mozilla的Spidermonkey运行时。)
我想创build一个对象的副本。 我希望新对象拥有旧对象的所有属性(字段的值)。 但我想要有独立的对象。 所以,如果我改变新对象的字段的值,旧对象不应该受到影响。
我们知道,在JavaScript中创build匿名对象很简单,就像下面的代码一样: var object = { p : "value", p1 : [ "john", "johnny" ] } ; alert(object.p1[1]) ; 输出: an alert is raised with value "johnny" 在PHP的情况下可以应用这种相同的技术? 我们可以在PHP中创build匿名对象吗?
我有这样的对象数组: var myArray = [ {field: 'id', operator: 'eq', value: id}, {field: 'cStatus', operator: 'eq', value: cStatus}, {field: 'money', operator: 'eq', value: money} ]; 如何根据其属性删除特定的一个? 例如,我将如何删除数组对象与'钱'作为字段属性?
我正在做一个console.log语句在我的JavaScript为了logging一个javascript对象。 我想知道是否有办法,一旦完成 – 将该对象作为JavaScript代码复制。 我想要做的是转换一个使用Ajax创build的对象来parsing一个XML feed到一个静态的JavaScript对象,以便一个文件可以在本地运行,没有服务器。 我已经在铬检查器窗口中包含了对象的屏幕截图,以便您可以看到我正在尝试执行的操作。
我想知道如何列出可用于对象的所有方法,例如: alert(show_all_methods(Math)); 这应该打印: abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …
我想在Python中创build一个dynamic对象(在另一个对象内),然后给它添加属性。 我试过了: obj = someobject obj.a = object() setattr(obj.a, 'somefield', 'somevalue') 但是这不起作用。 有任何想法吗? 编辑: 我正在设置一个for循环通过一个值列表循环的属性,例如 params = ['attr1', 'attr2', 'attr3'] obj = someobject obj.a = object() for p in params: obj.ap # where p comes from for loop variable 在上面的例子中,我会得到obj.a.attr1 , obj.a.attr2 , obj.a.attr3 。 我使用了setattr函数,因为我不知道如何从for循环执行obj.a.NAME 。 在上面的例子中,我将如何设置基于p值的属性?
是不是… var obj = new Object(); obj.function1 = function(){ //code } 或类似的东西?
可能重复: 如何dynamic合并两个JavaScript对象的属性? 背景 我有一个函数,将config对象作为参数。 在函数内部,我也有default对象。 这些对象中的每一个都包含基本上作为函数内其余代码的设置的属性。 为了防止必须指定config对象中的所有设置,我使用jQuery的extend方法来填充一个新的对象,如果它们没有在config对象中指定,则使用default对象的任何默认值进行settings : var config = {key1: value1}; var default = {key1: default1, key2: default2, key 3: default 3}; var settings = $.extend(default, config); //resulting properties of settings: settings = {key1: value1, key2: default2, key 3: default 3}; 问题 这很好,但我想重现这个function,而不需要jQuery。 是否有一个同样优雅(或接近)的手段来做到这一点纯朴的JavaScript? 编辑:非重复的理由 这个问题不是“ 如何dynamic合并两个JavaScript对象的属性 ”的问题。 而这个问题只是想创build一个对象,其中包含来自两个单独的对象的所有键和值 – 我特别想要解决如何做到这一点,如果两个对象共享一些但不是所有的键和哪个对象将优先在有重复键的情况下,生成对象的默认值)。 更具体地说,我想解决使用jQuery的方法来实现这一点,并find另一种方式来做到这一点,没有jQuery。 虽然这两个问题的许多答案重叠,但这并不意味着问题本身是相同的。