相关疑难解决方法(0)

JavaScript .prototype如何工作?

我不是那种动态编程语言,但是我写了很多JavaScript代码.我从来没有真正了解这个基于原型的编程,有没有人知道这是如何工作的?

var obj = new Object();
obj.prototype.test = function() { alert('Hello?'); };
var obj2 = new obj();
obj2.test();
Run Code Online (Sandbox Code Playgroud)

我记得很久以前我和人们进行了很多讨论(我不确定我在做什么)但是据我所知,没有一个类的概念.它只是一个对象,这些对象的实例是原始的克隆,对吧?

但是JavaScript中这个".prototype"属性的确切目的是什么?它与实例化对象有什么关系?

更新:正确的方式

var obj = new Object(); // not a functional object
obj.prototype.test = function() { alert('Hello?'); }; // this is wrong!

function MyObject() {} // a first class functional object
MyObject.prototype.test = function() { alert('OK'); } // OK
Run Code Online (Sandbox Code Playgroud)

这些幻灯片也非常有帮助.

javascript dynamic-languages prototype-oriented

1988
推荐指数
21
解决办法
49万
查看次数

如何获取Javascript对象的所有属性值(不知道密钥)?

如果有Javascript对象:

var objects={...};
Run Code Online (Sandbox Code Playgroud)

假设,它有超过50个属性,不知道属性名称(不知道'键')如何在循环中获取每个属性值?

javascript javascript-objects

439
推荐指数
10
解决办法
60万
查看次数

获取对象的属性名称

我想知道在JavaScript中是否有任何方法可以循环遍历这样的对象.

for(var i in myObject) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但是得到这样的每个属性的名称.

for(var i in myObject) {
    separateObj[myObject[i].name] = myObject[i];
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法在谷歌上找到类似的东西.他们说要用它们传递变量的名称,但这不是我想要实现的选项.

谢谢你尽你所能的帮助.

javascript properties object

170
推荐指数
6
解决办法
29万
查看次数

如何转义JSON字符串以将其包含在URL中?

使用Javascript,我想生成一个页面的链接.页面的参数位于我在JSON中序列化的Javascript数组中.

所以我想生成一个这样的URL:

http://example.com/?data="MY_JSON_ARRAY_HERE"
Run Code Online (Sandbox Code Playgroud)

如何转义我的JSON字符串(数组序列化)以将其作为URL中的参数包含?

如果有一个使用JQuery的解决方案,我会喜欢它.

注意:是的,页面的参数需要在一个数组中,因为它们有很多.我想我会用bit.ly来缩短之后的链接.

javascript url jquery json escaping

121
推荐指数
5
解决办法
15万
查看次数

获取Json对象上的项目总数?

可能重复:
Javascript对象的长度(即关联数组)

我有一个类似于这个的对象:

var jsonArray = {
  '-1': {
    '-1': 'b',
    '2': 'a',
    '10': 'c'
  },
  '2': {
    '-1': 'a',
    '2': 'b',
    '10': 'a'
  },
  '5': {
    '-1': 'a',
    '2': 'a',
    '10': 'b'
  }
};
Run Code Online (Sandbox Code Playgroud)

我试图得到它的长度,问题是jsonArray.length返回5而不是3(这是它拥有的总项目).该阵列相对较长(有1000x2000项),这必须每秒进行很多次.如何更有效地获得物品数量?

javascript json

96
推荐指数
3
解决办法
17万
查看次数

如何在JavaScript/jQuery中获取对象的属性?

在JavaScript/jQuery中,如果我alert有一些对象,我会得到[object]或者 [object Object]

有什么办法可以知道:

  1. 这两个对象有什么区别

  2. 这是什么类型的对象

  3. 此对象包含的所有属性以及每个属性的值

javascript jquery

93
推荐指数
3
解决办法
24万
查看次数

是否可以获取对象的不可枚举的继承属性名称?

在JavaScript中,我们有几种获取对象属性的方法,具体取决于我们想要获得的内容.

1)Object.keys(),它返回一个对象的所有自己的可枚举属性,一个ECMA5方法.

2)一个for...in循环,它返回一个对象的所有可枚举属性,无论它们是自己的属性,还是从原型链继承.

3)Object.getOwnPropertyNames(obj)返回对象的所有属性,可枚举与否.

我们也有这样的方法hasOwnProperty(prop)让我们检查属性是继承还是实际属于该对象,propertyIsEnumerable(prop)顾名思义,它让我们检查属性是否可枚举.

有了所有这些选项,就无法获得对象的不可枚举的非自有属性,这就是我想要做的.有没有办法做到这一点?换句话说,我可以以某种方式获取继承的非可枚举属性的列表吗?

谢谢.

javascript oop properties object

90
推荐指数
4
解决办法
2万
查看次数

javascript循环和删除对象属性

我有一个具有各种属性的对象.对象的名称是全局变量,但属性在运行时通过方法更改.某些方法会向对象添加属性.我想添加一个循环遍历此对象的方法,并删除所有null或空属性.我可以通过指定其名称并检查其状态来检查每个属性,但如果我稍后添加属性,我也必须更新此清理方法.如何在不知道属性名称的情况下遍历对象的属性.

谢谢你的建议.

javascript

21
推荐指数
1
解决办法
2万
查看次数

获取JavaScript对象的所有键

我想知道是否有一种快速方法可以将关联数组的键提取到数组中,或者使用JavaScript提取逗号分隔列表(jQuery没问题).

options = {key1: "value1", key2: "value2"};
Run Code Online (Sandbox Code Playgroud)

结果应该是数组:

["key1", "key2"]
Run Code Online (Sandbox Code Playgroud)

或只是一个字符串:

"key1, key2"
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery javascript-objects

18
推荐指数
3
解决办法
5万
查看次数

JavaScript:如何获取以特定字符串开头的对象的所有键和值?

我试图获取以对象开头的所有键和值imageIds.

我的对象如下所示:

{
    title: 'fsdfsd',
    titleZh: 'fsdfsd',
    body: 'fsdf',
    bodyZh: 'sdfsdf',
    imageIds: '/uploads/tmp/image-3.png',
    imageIdsZh: '' 
}
Run Code Online (Sandbox Code Playgroud)

但我只需要属性imageIds,和imageIdsZh.但是明天,一个对象可能包含imageIdsBlah,我也需要把它拿起来.我可以从对象中删除前几个属性,但是下一个对象可能包含其他属性,例如foo: 'bar'

javascript

14
推荐指数
1
解决办法
6646
查看次数