标签: javascript-objects

__proto__ VS. JavaScript中的原型

该图再次显示每个对象都有一个原型.构造函数Foo也有自己__proto__的Function.prototype,它又通过其__proto__属性再次引用到Object.prototype.因此,重复,Foo.prototype只是Foo的一个显式属性,它指的是b和c对象的原型.

var b = new Foo(20);
var c = new Foo(30);
Run Code Online (Sandbox Code Playgroud)

__proto__prototype属性有什么区别?

在此输入图像描述

这个数字来自这里.

javascript prototype prototypal-inheritance javascript-objects

730
推荐指数
17
解决办法
16万
查看次数

如何从异步回调函数返回值?

在SO中多次询问这个问题.但我还是得不到东西.

我想从回调中获得一些价值.请查看下面的脚本以获得说明.

function foo(address){

      // google map stuff
      geocoder.geocode( { 'address': address}, function(results, status) {
          results[0].geometry.location; // I want to return this value
      })

    }
    foo(); //result should be results[0].geometry.location; value
Run Code Online (Sandbox Code Playgroud)

如果我试图返回该值只是"未定义".我从SO那里听了一些想法,但仍然失败了.

那些是:

function foo(address){
    var returnvalue;    
    geocoder.geocode( { 'address': address}, function(results, status) {
        returnvalue = results[0].geometry.location; 
    })
    return returnvalue; 
}
foo(); //still undefined
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous callback javascript-objects

440
推荐指数
3
解决办法
33万
查看次数

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

如果有Javascript对象:

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

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

javascript javascript-objects

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

如何迭代JavaScript对象?

我在JavaScript中有一个对象:

{
    abc: '...',
    bca: '...',
    zzz: '...',
    xxx: '...',
    ccc: '...',
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我想使用for循环来获取其属性.我想在部分中迭代它(不是一次所有的对象属性).

使用简单的数组我可以使用标准for循环:

for (i = 0; i < 100; i++) { ... } // first part
for (i = 100; i < 300; i++) { ... } // second
for (i = 300; i < arr.length; i++) { ... } // last
Run Code Online (Sandbox Code Playgroud)

但是如何用物体做呢?

javascript iteration loops object javascript-objects

361
推荐指数
7
解决办法
40万
查看次数

使用{}或new Object()在JavaScript中创建一个空对象?

在JavaScript中创建空对象有两种不同的方法:

var objectA = {}
var objectB = new Object()
Run Code Online (Sandbox Code Playgroud)

脚本引擎如何处理它们有什么不同吗?有没有理由使用一个而不是另一个?

类似地,也可以使用不同的语法创建一个空数组:

var arrayA = []
var arrayB = new Array()
Run Code Online (Sandbox Code Playgroud)

javascript arrays object new-operator javascript-objects

359
推荐指数
7
解决办法
51万
查看次数

获取对象的第一个索引

考虑:

var object = {
  foo: {},
  bar: {},
  baz: {}
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做:

var first = object[0];
console.log(first);
Run Code Online (Sandbox Code Playgroud)

显然,这不起作用,因为第一个索引是命名的foo,而不是0.

console.log(object['foo']);
Run Code Online (Sandbox Code Playgroud)

有效,但我不知道它的名字是foo.它可以被命名为任何东西.我只想要第一个.

javascript javascript-objects

196
推荐指数
13
解决办法
36万
查看次数

使用数字键将JavaScript对象转换为数组

我有一个像这样的对象作为来自服务器的JSON响应返回:

{"0":"1","1":"2","2":"3","3":"4"}
Run Code Online (Sandbox Code Playgroud)

我想将它转换为像这样的JavaScript数组:

["1","2","3","4"]
Run Code Online (Sandbox Code Playgroud)

有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用循环来使用复杂的逻辑.那么有没有其他方法来做到这一点?

javascript arrays jquery json javascript-objects

174
推荐指数
7
解决办法
67万
查看次数

如何通过引用将JavaScript对象复制到新变量?

在这里编写了一个快速的jsfiddle ,我将一个小的json对象传递给一个新的变量并修改原始变量(而不是新变量)的数据,但新变量的数据也会更新.这必须意味着json对象是通过引用传递的,对吧?

这是我的快速代码:

var json_original = {one:'one', two:'two'}

var json_new = json_original;

console.log(json_original); //one, two
console.log(json_new); //one, two

json_original.one = 'two';
json_original.two = 'one';

console.log(json_original); //two, one
console.log(json_new); //two, one
Run Code Online (Sandbox Code Playgroud)

有没有办法制作json对象的深层副本,以便修改原始变量不会修改新变量?

javascript object javascript-objects

167
推荐指数
2
解决办法
18万
查看次数

使用curl POST和bash脚本函数中定义的变量

当我回音时,我得到了这个,当我将它输入终端时运行

curl -i \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-X POST --data '{"account":{"email":"akdgdtk@test.com","screenName":"akdgdtk","type":"NIKE","passwordSettings":{"password":"Starwars1","passwordConfirm":"Starwars1"}},"firstName":"Test","lastName":"User","middleName":"ObiWan","locale":"en_US","registrationSiteId":"520","receiveEmail":"false","dateOfBirth":"1984-12-25","mobileNumber":"9175555555","gender":"male","fuelActivationDate":"2010-10-22","postalCode":"10022","country":"US","city":"Beverton","state":"OR","bio":"This is a test user","jpFirstNameKana":"unsure","jpLastNameKana":"ofthis","height":"80","weight":"175","distanceUnit":"MILES","weightUnit":"POUNDS","heightUnit":"FT/INCHES"}' https://xxx:xxxxx@xxxx-www.xxxxx.com/xxxxx/xxxx/xxxx
Run Code Online (Sandbox Code Playgroud)

但是当在bash脚本文件中运行时,我收到此错误

curl: (6) Could not resolve host: application; nodename nor servname provided, or not known
curl: (6) Could not resolve host: is; nodename nor servname provided, or not known
curl: (6) Could not resolve host: a; nodename nor servname provided, or not known
curl: (6) Could not resolve host: test; nodename nor servname provided, or not known
curl: (3) [globbing] …
Run Code Online (Sandbox Code Playgroud)

bash json curl javascript-objects

144
推荐指数
8
解决办法
20万
查看次数

这是克隆ES6中对象的好方法吗?

谷歌搜索"javascript克隆对象"带来一些非常奇怪的结果,其中一些是绝望的过时,有些只是太复杂,不是那么容易:

let clone = {...original};
Run Code Online (Sandbox Code Playgroud)

这有什么不对吗?

javascript javascript-objects ecmascript-6

132
推荐指数
3
解决办法
9万
查看次数