这令我困惑.我不知道怎么解释这个,但这是我的调试代码的样子.在它下面,您可以看到这两个日志的输出.第一个清楚地显示了我正在尝试访问的属性的完整JavaScript对象,但下一行代码我无法使用config.col_id_3访问它(请参阅屏幕截图中的"undefined"?).有谁能解释一下?我也可以访问除field_id_4之外的所有其他属性.
console.log(config);
console.log(config.col_id_3);
Run Code Online (Sandbox Code Playgroud)
这就是这些console.log()在Console中打印的内容

在没有附加组件的Safari中,console.log将在最后执行状态下显示对象,而不是在console.log调用时的状态.
我必须克隆对象只是为了输出它console.log来获取该行的对象状态.
例:
var test = {a: true}
console.log(test); // {a: false}
test.a = false;
console.log(test); // {a: false}
Run Code Online (Sandbox Code Playgroud) 我将从代码开始:
var s = ["hi"];
console.log(s);
s[0] = "bye";
console.log(s);
Run Code Online (Sandbox Code Playgroud)
简单吧?对此,Firebug说:
["hi"]
["bye"]
Run Code Online (Sandbox Code Playgroud)
很棒,但Chrome的JavaScript控制台(7.0.517.41 beta)说:
["bye"]
["bye"]
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者Chrome的JavaScript控制台在评估我的阵列方面特别懒惰?
这段代码:
foo = [{id: 1},{id: 2},{id: 3},{id: 4}, {id: 5}, ];
console.log('foo1', foo, foo.length);
foo.splice(2, 1);
console.log('foo2', foo, foo.length);
Run Code Online (Sandbox Code Playgroud)
在Chrome中生成以下输出:
foo1
[Object, Object, Object, Object, Object] 5
0: Object
1: Object
2: Object
3: Object
length: 4
__proto__: Array[0]
5 (index):23
foo2
[Object, Object, Object, Object] 4
0: Object
1: Object
2: Object
3: Object
length: 4
__proto__: Array[0]
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/2kpnV/
这是为什么?
我理解这段代码.我们制作A的副本并将其称为C.当A被更改时,C保持不变
var A = 1;
var C = A;
console.log(C); // 1
A++;
console.log(C); // 1
Run Code Online (Sandbox Code Playgroud)
但是当A是阵列时,我们会有不同的情况.C不仅会改变,而且会在我们触及A之前发生变化
var A = [2, 1];
var C = A;
console.log(C); // [1, 2]
A.sort();
console.log(C); // [1, 2]
Run Code Online (Sandbox Code Playgroud)
有人可以解释第二个例子中发生的事情吗?
我有一个组件的引用
<Gmap ref="mapRef">
Run Code Online (Sandbox Code Playgroud)
在安装中,我正在这样做,只是为了查看对象可用
mounted(){
let self = this
console.log(self.$refs) // Shows the mapRef object reference
console.log(self.$refs.mapRef) // returns undefined ???
}
Run Code Online (Sandbox Code Playgroud)
self.$refs 显示...
mapRef: VueComponent {_uid: 207, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: VueComponent, …}
Run Code Online (Sandbox Code Playgroud)
那么为什么 self.$refs.mapRef 返回 undefined 呢??即使它明显在那里??
javascript WeakMap(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap)不允许您按设计获取密钥或长度或大小.
是否有可能以某种方式循环条目?
如果没有.. Chrome控制台如何执行此操作?
在我的javascript中,我有两个元素.
我记录了两个元素,它显示了......
要素1.
要素2.
有问题.
当我console.log的element小号.children他们显然还有些HtmlCollection小号
您将在一分钟内理解以下内容:但奇怪的是,一个HtmlCollection为空(并且长度为0),但有3个元素(并且长度为3).
如果您console.log为元素的孩子阅读下面的s,您将理解我在说什么...
元素1儿童和长度:
元素2儿童和长度:(搞砸了)
有谁知道这里发生了什么?
我如何解决这个问题,我需要通过HtmlCollection循环,但它不会让我因为长度是0 ...?
提前致谢!所有帮助赞赏.
我正在通过一个html结构来获得我需要的值.它似乎是一个"NamedNodeMap",我已经得到了这个调用:
ui.handle.attributes.getNamedItem("data-value")
Run Code Online (Sandbox Code Playgroud)
在chromes控制台中打印时显示:
data-value="12:00 AM"
->"12:00 AM"
Run Code Online (Sandbox Code Playgroud)
我需要将"12:00 AM"作为值,字符串,任何东西都能正常工作.我只是不知道如何得到它.我的通话结束时.value不起作用,我也试过.text和许多其他的东西.
在扩展句柄和属性之前,继承了ui对象的样子:

之后:

html标记:

看到这个jsbin在哪里,为了回答另一个问题,我构建了一个类似数组的对象:
function myCollection() {
var items = [], r = {}
function myPush(value){
value += 'bar'
r[items.length]=value;
items.push(value)
}
Object.defineProperty(r, "splice", {value:[].splice});
Object.defineProperty(r, "slice", {value:[].slice});
Object.defineProperty(r, "length", {
get : function(){ return items.length}
});
Object.defineProperty(r, "myPush", {value:myPush});
return r;
}
var fooCollection = myCollection();
fooCollection.myPush('foo');
console.log(fooCollection); // logs ["foobar"]
fooCollection.myPush('Ba');
console.log(fooCollection); // logs ["foobar", "Babar"]
fooCollection.myPush('wzouing');
console.log(fooCollection.slice(-2)); //logs ["Babar", "wzouingbar"]
console.log(fooCollection[1]); // logs Babar
Run Code Online (Sandbox Code Playgroud)
如果你在控制台打开的情况下点击Chromium上的Run with JS按钮,你会得到:

非常奇怪的是,如果你在控制台关闭时按下按钮就可以得到这个(当然你在重新打开控制台后看到它):

这是一个已知的错误吗?一项功能 ?灰色地带?有解决方法吗?
*注意:有时候,在Chrome/linux(而不是Chromium)上,我得到的东西更奇怪:关闭并重新打开控制台时,现有日志会发生变化.它们可以从阵列形式转变为折叠形式.*