我正在尝试使用动态名称访问对象的属性.这可能吗?
const something = { bar: "Foobar!" };
const foo = 'bar';
something.foo; // The idea is to access something.bar, getting "Foobar!"
Run Code Online (Sandbox Code Playgroud) 我知道PHP中可能有"变量"变量.例如
$x = "variable";
$$x = "hello, world!";
echo $variable; // displays "hello, world!"
Run Code Online (Sandbox Code Playgroud)
是否可以在javascript中将变量的名称引用为字符串?怎么做?
我想要做的就是传递给函数的变量的名称和该变量的值,并且只在一个变量传递给函数.所以:
var x = "anything";
function showName() {
}
showName(x);
Run Code Online (Sandbox Code Playgroud)
要么
showName("x");
Run Code Online (Sandbox Code Playgroud)
将返回:"x =任何东西".
现在,我必须指定变量两次:
showName("x", x);
Run Code Online (Sandbox Code Playgroud)
为了获取我传入的变量的名称和值.
请注意,我对showName原型中的参数名称不感兴趣,但是对调用函数中的变量名称不感兴趣.另外,传递的变量可能是本地的,所以我不能使用window对象来查找变量.
我知道JavaScript(以及TypeScript)在很多情况下都支持省略分号.不过我想在TypeScript Deep Dive中建议添加分号是明确的
但是,我找不到列出使用分号的指南.例如,请查看以下代码
class Person {
private name: string; // A
constructor(name: string) {
this.name = name;
}; // B
public add = () => {
return "C";
}; // C
}; // D
Run Code Online (Sandbox Code Playgroud)
我很确定在A处使用分号.但是B,C,D以及我的例子未涵盖的所有其他案例呢?
编辑:我应该补充一点,我不是在问省略分号的位置,而是在哪里添加分号.像往常一样的答案不能满足我的需求,因为我无法添加;后public.我想知道究竟在哪里放分号.
有没有办法用包含其名称的字符串引用Javascript变量?
例:
var myText = 'hello world!';
var someString = 'myText';
//how to output myText value using someString?
Run Code Online (Sandbox Code Playgroud) 我有变量:
var variableDynamic = 1;
// or
var variableDynamic = 1 + i++;
Run Code Online (Sandbox Code Playgroud)
有没有办法用它来创建动态变量名称,例如:
var variableName + variableDynamic = {};
// or
var (variableName + variableDynamic) = {};
Run Code Online (Sandbox Code Playgroud)
我知道我上面写的是荒谬的,但这是为了解释这个想法.可能吗?
好的,每次用户点击添加新文件组时我想要创建元素(上传表单),一切正常,除了我用它的插件需要特殊的变量,每个上传表单触发上传按钮(.uploadStoredFiles ()).
这是我做的粗略代码:
$('#addOneMoreFileOrGroup').on('click', function(){
var latestFileUploaderId = parseInt($('.well-large .file-uploader').last().attr('id').split('-')[2]) + 1;
$('.well-large .control-group:last').after('<div class="control-group deal-type-online"> \
<label class="control-label">File / File Group Title:</label> \
<div class="controls"> \
<input class="span4 file-title" type="text"> \
<span class="question label label-warning" data-title="File / Group Name:" data-content="Name for your file or group of related files (for example …Run Code Online (Sandbox Code Playgroud) 我刚刚介绍了PHP中动态变量的概念.对我来说,似乎在程序中使用动态变量会使其难以阅读/遵循.
任何人都可以向我解释这些好处和/或分享一个真正简单的现实世界的例子,说明何时可能需要PHP中的动态变量?
如果您想知道动态变量是什么以及它们如何工作,请查看此问题
是否可以通过将两个字符串连接在一起形成名称来设置变量?
如果可能的话,我想根据用户点击的对象的类名确定要设置的变量.我知道我可以硬编码一堆if/else if语句,但如果我可以间接引用变量,那将会非常酷.我在想这样的事情:
var owner_read;
var group_read;
function setVariableIndirectly(object){
var second = object.className; // returns "read"
var first = object.parentElement.className; // returns "group"
first + "_" + second = "set this as the new variable";
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
编辑:
这是数据来自的html.
<p class="owner">
<span class="read" onclick="permissionClick(this)">r</span>
<span class="write" onclick="permissionClick(this)">w</span>
<span class="execute" onclick="permissionClick(this)">x</span>
</p>
Run Code Online (Sandbox Code Playgroud) 可能重复:
Javascript动态变量名称
一个非常基本的问题.我想在每次调用函数时创建一个新的javascript全局变量.变量应该包含元素的id,以便我以后可以轻松访问它.
id = 2347
//this function would be called multiple times, hopefully generating a new global each time
function (id)
{
var + id = something
// I want a variable that would be named var2347 that equals something, but the above line doesn't get it.
}
Run Code Online (Sandbox Code Playgroud)
在以后的函数中,我想像这样访问变量:
function two (id)
{
alert(var + id);
}
Run Code Online (Sandbox Code Playgroud)
我相信我会有一个"doh!" 有人能够回答这个问题的那一刻.
javascript ×8
variables ×4
coding-style ×2
arguments ×1
dynamic ×1
indirection ×1
object ×1
optimization ×1
performance ×1
php ×1
php-7 ×1
properties ×1
syntax ×1
typescript ×1