哪些字符可用于命名JavaScript变量?
我想在这里为我的非JavaScript用户创建一个小的"扩展库"(当涉及到语言时,他们似乎都很娇气).我喜欢jQuery和Prototype都使用$美元符号,因为我使用jQuery,我正在寻找另一个好用的单字符符号.
我意识到我可以测试一些角色,但我希望能够缩小我的角色列表(考虑到未来可能与另一个流行的库集成).
除了显而易见的事实,即第一种形式可以使用变量而不仅仅是字符串文字,是否有任何理由使用其中一种,如果是这样,在哪种情况下呢?
在代码中:
// Given:
var foo = {'bar': 'baz'};
// Then
var x = foo['bar'];
// vs.
var x = foo.bar;
Run Code Online (Sandbox Code Playgroud)
上下文:我编写了一个生成这些表达式的代码生成器,我想知道哪个更好.
为什么先工作而不是后者?*它只有一个小的区别,在后一种情况下,我使用速记来访问猫对象属性.我读到如果"属性的名称将是一个有效的变量名称 - 当它没有任何空格或符号并且不以数字字符开头时"它应该没有任何区别.
//this works
var cats = {Spot:true};
function addCat (name) { cats[name] = true; }
addCat("white");
console.log ("white" in cats); //true
console.log (cats.white); //true
Run Code Online (Sandbox Code Playgroud)
//this doesn't work
var cats = {Spot:true};
function addCat (name) { cats.name = true; }
addCat("white");
console.log ("white" in cats); //false
console.log (cats.white); //undefined
Run Code Online (Sandbox Code Playgroud) 让a = {a: 1, b:2},这些在控制台中显示Object {a: 1, b: 2}.
当我这样做时,a.a我得到1.当我这样做时,a[a]我得到了不确定.
这是正常的吗?
我问这个是因为我需要从动态键中获取值. a[product1], a[product2]....
我是jQuery的新手.我尝试从中获取数据时出错fileresult.php.
fileresult.php
$return_arr = array();
$row_array['status'] = 'Ok';
$row_array['message'] = 'good'
array_push($return_arr, $row_array);
echo json_encode($return_arr);
Run Code Online (Sandbox Code Playgroud)
JSON输出
[{"date":"2014-03-15","status":"ok","message":"good"}]
Run Code Online (Sandbox Code Playgroud)
get_result.js
$.post('file.php', $("form").serialize(), function(data) {
var status = data['status'];
alert(status);
});
Run Code Online (Sandbox Code Playgroud)
当我提醒数据时,它显示undefined.有人请帮帮我.如何显示正确的数据.
为什么不能用点表示法访问数组元素?
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)
换句话说,为什么语言设计师选择禁止以数字开头的标识符?
嗨,我有一个我从CSV文件中的数据填充的对象.
我的一个ID称为"Disk_Usage(MB)"
我尝试使用我的object.Disk_Usage(MB),但收到错误,因为javascript认为磁盘使用是一个函数,MB是一个变量.
我在控制台上收到一条引用错误,指出MB未定义.
有人可以向我解释为什么这段代码有效吗?
[1,4,5,6,7,2,3]["sort"](0); //[1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)
我不太了解这里的语法.同时,为什么我不能像这样选择排序或反向执行?无论索引是什么,看起来总是反向做.
[1,4,5,6,7,2,3]["sort","reverse"](0);
Run Code Online (Sandbox Code Playgroud)