相关疑难解决方法(0)

JavaScript属性访问:点符号与括号?

除了显而易见的事实,即第一种形式可以使用变量而不仅仅是字符串文字,是否有任何理由使用其中一种,如果是这样,在哪种情况下呢?

在代码中:

// Given:
var foo = {'bar': 'baz'};

// Then
var x = foo['bar'];

// vs. 
var x = foo.bar;
Run Code Online (Sandbox Code Playgroud)

上下文:我编写了一个生成这些表达式的代码生成器,我想知道哪个更好.

javascript syntax

380
推荐指数
10
解决办法
14万
查看次数

我可以获得以数字开头的javascript对象属性名称吗?

var myObj = {"suppliers":[{"name":"supplier1","12m":"0.08","24m":"0.06"}]};

alert(myObj.suppliers[0].12m);
Run Code Online (Sandbox Code Playgroud)

是否有不同的方法来获取此属性,或者我应该不使用以数字开头的键?

javascript key

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

当var trees = new Array("redwood","bay","cedar")时,0的属性如何?

我在mozilla文档中看到了这个例子,但我不明白为什么.

如果0是树的属性,我期待它trees.0会返回redwood但是是错误的声明.是a[0]一种访问数组的0属性的方法吗?在这种情况下a["length"]也应该工作(逻辑上).任何人都可以说清楚吗?

链接:developer.mozilla.org

var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
0 in trees;        // returns true
3 in trees;        // returns true
6 in trees;        // returns false
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
1
解决办法
72
查看次数

为什么我不能在Javascript中调用array.0?

此代码将警告对象a中的所有属性名称.0,1,2和你好.

Object.prototype.hello = {};

var a = [1,2,3];

for ( var number in a ) {
    alert( number)
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以通过以下语法访问属性hello:

a.hello
Run Code Online (Sandbox Code Playgroud)

但是为什么我不能访问a.0哪个应该等于1.数组是否会创建"真实属性"?

我知道我可以通过[0]和["你好"]访问属性

javascript

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

为什么用点表示法无法访问javascript数组元素?

为什么不能用点表示法访问数组元素?

var arr = ['Apple', 'Mango', 'Pineapple', 'Orange', {name: 'Banana', color: 'yellow'}];

console.log( arr[0] ); // "Apple"
console.log( arr.0 ); // "Apple"
console.log( arr.3 ); // "Orange"
console.log( arr[4].name ); // "Banana"
console.log( arr.4.color ); // "Color"
Run Code Online (Sandbox Code Playgroud)

换句话说,为什么语言设计师选择禁止以数字开头的标识符?

javascript arrays

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

标签 统计

javascript ×5

arrays ×1

key ×1

syntax ×1