各语言变量(属性)名为变量

本文介绍了不同编程语言中如何实现动态属性访问的方法,包括JavaScript中的obj['col'+1]、PHP中的$obj->{'col'.$i}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. js

var obj = {col1: "111", col2: "222"}
console.log(obj.col1) // 固定变量名
console.log(obj['col1'])// 属性访问既可以. 也可以下标[]
console.log(obj['col' + 1]) // 动态拼接属性名(属性名为变量),只能使用[]来处理

2.php

class Obj {
    var $col1 = "111";
    var $col2 = "222";
}
$obj = new Obj();
echo $obj->col1."\r\n";
for($i = 1; $i <= 2; ++$i) {
    echo $obj->{"col$i"}."\r\n";
}
// php的静态变量
class Test{
    static $name;

    public static function testParam() {
        self::$name = "hello world";
        $a = "name";
        echo self::${$a};
    }
}
Test::testParam(); 

3. c/c++

使用双#来处理,宏方法中使用很多。

4. java

// 使用反射来处理, 不管是方法名还是属性名皆可拼接
Class trendClass = curTrend.getClass();                   
Method getMethod = trendClass.getMethod("getSpace" + i);
Method setMethod = trendClass.getMethod("setSpace" + i, Integer.class);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值