说我有这个PHP代码:
$FooBar = "a string";
Run Code Online (Sandbox Code Playgroud)
然后我需要一个这样的函数:
print_var_name($FooBar);
Run Code Online (Sandbox Code Playgroud)
打印:
FooBar
Run Code Online (Sandbox Code Playgroud)
任何想法如何实现这一目标?这在PHP中甚至可能吗?
有没有办法在javascript中将变量名转换为字符串?更具体:
var a = 1, b = 2, c = 'hello';
var array = [a, b, c];
Run Code Online (Sandbox Code Playgroud)
现在,在我浏览数组的某个时刻,我需要将变量名称(而不是它们的值)作为字符串 - 这将是'a'或'b'或'c'.我真的需要它成为一个字符串,所以它是可写的.我怎样才能做到这一点?
我想创建一个快速函数,它将console.log变量名称和值.我希望在控制台中显示该函数的结果:foo: bar.
我对该函数的基本思想如下:
function varlog(var_name)
{
console.log(var_name + ": " + eval(var_name));
}
Run Code Online (Sandbox Code Playgroud)
我打电话的是:
function someRandomFunction()
{
var foo = "bar";
// ... some stuff happens
varlog("foo");
}
Run Code Online (Sandbox Code Playgroud)
如果foo是全局的,则此方法有效,但在提供的示例中不起作用.另一个只能全局运作的选择是使用window[var_name]而不是可怕的eval.
我不认为我问的是可能的,但我想我会把它扔出去.
我花了很多时间试图变懒.我目前的方法是console.log('foo: ' + bar);正常的.但现在我只想知道这是否可行.
我在搜索/创建现有内容时引用的其他一些问题:
-
编辑:varlog(foo)如果名称"foo"可以从变量派生,我很乐意打电话.
如何在打字稿中获取变量名称?我想要这样的东西:
var name = "Foo";
alert(getVariableName(name)); //Prints "name"
Run Code Online (Sandbox Code Playgroud) 我们假设我们有以下代码:
const myVariable = { age: 7, name: "Hunter" };
Run Code Online (Sandbox Code Playgroud)
我想知道变量的名称,而不仅仅是它的值,并将其放在一个字符串中或记录它或:
const s = nameof(myVariable) + ': ' + JSON.stringify(myVariable);
Run Code Online (Sandbox Code Playgroud)
我希望看到的结果是:
"myVariable: {"age":7,"name":"Hunter"}"
Run Code Online (Sandbox Code Playgroud)
期待看到您的解决方案.
是否有可能获得声明如下的匿名函数的名称?
var F = function(){};
Run Code Online (Sandbox Code Playgroud)
乍一看,答案是否定的,但显然浏览器知道并保留了函数名称:
var F = function(){};
var x = new F();
console.log(x.constructor); // function F()
Run Code Online (Sandbox Code Playgroud)
(火狐)
var F = function(){};
var x = new F();
console.log(x); // F {}
Run Code Online (Sandbox Code Playgroud)
(铬)
这个名字是否可以访问?我需要它主要用于错误记录,因此解决方案不必是跨浏览器.
编辑以澄清:
我从外部代码中获取了一个我需要知道其类型的对象,因此使用其他声明方式的明显答案不是我正在搜索的内容.
var abc = '123'
var def = '456'
Run Code Online (Sandbox Code Playgroud)
需要写somefuntion()将变量名转换为字符串
喜欢
alert ("value of" +somefuntion(abc) +"is"+ abc +"and value of" +somefuntion(def)+" is"+def );
Run Code Online (Sandbox Code Playgroud)
应该是这样的
alert ("value of abc is 123 and value of def is 456")
Run Code Online (Sandbox Code Playgroud)
我已经搜索并尝试了一些解决方案和idk,该链接如何帮助cuz我知道您会说它的重复项,但是我尝试了它但没有成功
我发现自己反复键入此代码以在代码中进行调试。有没有办法为此创建函数?
var abc = 1
console.log("abc = "+abc);
var xyz = 2;
console.log("xyz = "+xyz);
Run Code Online (Sandbox Code Playgroud)
我想创建一个像这样的函数:
logVar = function(input){
console.log(input.name()+" = "+input);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
logVar(abc)应该返回“ abc = 1”
logVar(xyz)应该返回“ xyz = 2”
我正在创建一个JavaScript代码,我有一种情况,我想在对象方法中读取对象名称(字符串).我想要实现的示例代码如下所示:
// Define my object
var TestObject = function() {
return {
getObjectName: function() {
console.log( /* Get the Object instance name */ );
}
};
}
// create instance
var a1 = TestObject();
var a2 = TestObject();
a1.getObjectName(); // Here I want to get the string name "a1";
a2.getObjectName(); // Here I want to get the string name "a2";
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可以在JavaScript中使用.但如果是的话,我很乐意听到你们如何实现这一目标.
jerry = {
weight: 178
}
Malcom = {
weight: 220
}
Bob = {
Weight: 134
}
people = [jerry, Malcom, Bob]
console.log(people[0]);
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取对象名称“jerry”的 console.log。感谢您的任何帮助!
javascript ×8
arrays ×1
console.log ×1
function ×1
logging ×1
nameof ×1
php ×1
string ×1
typescript ×1
variables ×1