精华内容
下载资源
问答
  • js给对象添加变量属性

    万次阅读 2018-11-21 15:44:49
    1、js创建一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值,写法如下: let obj = {'a1':'a1'}; obj['a2'] = 'a2'; console.log(obj);//输出{'a1':'a1','a2':'a2'};  2、添加一个变量属性,并赋值...

    1、js创建一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值,写法如下:

    let obj = {'a1':'a1'};
    obj['a2'] = 'a2';
    console.log(obj);//输出{'a1':'a1','a2':'a2'};
    

     2、添加一个变量属性,并赋值变量,写法如下:

    function add(name,value){
        let obj = {"a1":"a1"};
        obj[name] = value;//返回参数
        console.log(obj);//{"a1":"a1","b1":"b1"}
    }
    add("b1","b1");

     

    展开全文
  • C#开发Unity游戏教程之游戏对象属性变量

    C#开发Unity游戏教程之游戏对象的属性变量

    Unity游戏对象的属性——变量

    通过对上一章的学习,读者应该了解到了,游戏对象上的属性与脚本中的变量,建立联系的方式就是将脚本赋予游戏对象。上一章只是简单的介绍了脚本中的变量,读者一定不过瘾,现在好了,作者将使用一整章的篇幅介绍变量与属性。

    Unity游戏对象的属性

    Unity中,游戏场景中游戏对象的属性,可以在Inspector视图里查看,想看哪个游戏对象的属性,就使用鼠标选中哪个游戏对象即可。例如,要查看游戏场景中Main Camera对象的属性,只需在Hierarchy视图里选中Main Camera,然后Inspector视图就会显示出它的所有属性,如图3-1所示。


    3-1  Inspector视图里查看Main Camera对象的属性

    通过上一章节的学习,读者应该了解到,属性是显示在组件之下的,组件的本质是类,而属性的本质就是变量,只不过使用者是无法查看Unity这些内置组件类的代码的。因此,下面以自己编写的脚本来说明组件之于脚本中定义的类,属性之于脚本中的变量,它们之间的对应关系。

    1Project视图里,单击Create|C# Script命令,创建脚本并命名为MyScript,使用鼠标双击打开脚本,并在脚本中添加下面代码:

    • 01     using UnityEngine;

    • 02     using System.Collections;

    • 03    

    • 04     public class MyScript : MonoBehaviour

    • 05     {

    • 06              public int iValue;

    • 07              public string strValue;

    • 08              public float fValue;

    • 09     }

    提示:新创建的脚本,里面有很多Unity自动添加的代码,对于没有实际意义的代码,读者可以将其删除。

    2MyScript脚本拖动到Main Camera对象上,再次使用Inspector视图查看Main Camera对象的属性,如图3-2所示,会发现脚本也变成了组件,成为了Main Camera对象的一部分,并且这个组件下显示的属性,就是脚本中的变量。


    3-2  脚本之于组件,变量之于属性

    Unity中指代数据的名称

    既然游戏对象属性的本质就是变量,那么脚本中的变量又是什么?在上一章曾向读者说明过,变量实际上就是一个存储数据的单元,而读者在脚本中所看到的“变量”,准确的说应该是“变量名”。“变量名”顾名思义就是指变量的名称,它的作用是指代变量,或者说是指代变量中的数据。就上一节的示例而言,脚本中的变量名是iValuestrValuefValue,如图3-3所示。


    3-3  脚本中的变量名

    Unity变量命名规则

    脚本中的变量名,看起来就是一串字母,但它是有自己的命名规则的,这个规则是被C#语法所规定的,即:变量名只能由字母、数字和下划线组成,且只能以字母或者下划线开头。对这个规则的解释如下:

    • q  同一字母的大小写,对于变量名是不同的。例如,iValueIValue是不同的变量名;

    • q  不能以数字开头。例如,iValue_Value是合法的,但是1Value是不合法的;

    Unity变量命名约定

    “规则”是必须遵守的,有强制性,不遵守的话就会出现语法上的错误。而“约定”则是要看意愿的,读者可以不遵守约定,也不会犯任何语法上的错误。虽然它没有强制性,但是读者也最好了解一下,因为遵守约定,利于代码的阅读,以及游戏编程人员协同工作。

    1.选择有意义的名称

    最好为变量选择有意义的名称,否则读者会在很长一段时间以后,忘记当初为什么要命这样一个变量名,以及这个变量名想要指代一个什么样的数据。下面以一个例子来说明:

    • public bool theBearMakesBigPottyInTheWoods = true;

    这个变量名可真长!但它确实清楚的描述了自己,因此即时读者在10年后看到这个变量,仍然能从它的名字上了解到当初什么要命这样一个变量名,以及这个变量名想要指代一个什么样的数据。现在给这个变量换另一个简单点的名字:

    • public bool potty = true;

    这个名字确实简洁多了!毕竟缺少了好多描述性的信息。也许读者在为变量命名的时候,还记得它的作用,但是过几周之后就不一定了。到时候,读者将不得不阅读更多的代码,来推测这个变量名的作用。

    2.小写字母开头

    使用小写字母作为变量名的首字母,是为了让变量名与类名区别开来,从而使得代码阅读者可以轻松地从名称上,得知名称是变量名还是类名。因为类名通常是使用大些字母开头的,因此最好让变量名以小写字母开头。例如:

    • Transform;                                             //类名

    • transform;                                                        //变量名

    如果严格的遵守了命名的约定的话,就可以很容易的得知,第一个是类名,第二个是变量名。

    提示:在本书后面的章节,读者会看到类的命名约定,那个时候作者会告诉你类名最好以大写字母开头。读者也可以使用其它的命名约定,但是无论使用何种命名约定,目的都是一致的,就是为了提高代码的可读性,便于多名游戏编程人员的协作。

    Unity变量名与属性名的些许不同

    通过本章第一节的学习,读者已经了解到,游戏对象上属性的本质就是变量,而属性名与变量名也是一致的。但是细心的读者可能发现了,属性名与变量名并非完全一致,至少首字母的大小写就不同,如图3-4所示。


    3-4  变量名与属性名不完全一致

    其实同样的问题,也发生在了脚本名(类名)与组件名的不一致上。例如,MyScript(脚本名、类名)的组件名是My Script。这或许是微不足道的,但它却体现出了Unity的体贴、周到,读者难道不觉得,Unity所做的这些变动,使得变量名在变成了属性名以后,更加的易读了吗?事实就是如此。

    Unity属性名的可见性

    读者千万不要认为,只要脚本中有变量,就会在脚本成为组件以后,出现在组件下的属性列表中。这种想法是错误的,因为决定变量是否会出现在组件下,成为属性的因素是,修饰变量的是public,还是private。本章前面部分演示的示例,变量前面都有public修饰,所以才会显示在组件下的属性中,如图3-5所示。


    3-5  变量前的修饰部分——public

    如果将strValue前的修饰public,换成private,在保存对脚本代码的修改以后,再次查看组件下的属性,就会发现名为Str Value的属性不见了,如图3-6所示。


    3-6  private修饰的属性不见了

    注意:脚本中可以省略对变量的修饰,也就是说不书写publicprivate也不会有语法上的错误。此时,Unity会默认变量是被private修饰的,因此此变量同样不会以属性的形式显示在组件下,如图3-7所示。


    3-7  省略了修饰的变量

    C#语法规定,被public修饰的变量,可以被外界访问和修改,也就是说变量存储的数据,允许在脚本外被修改。因此开发者才可以在Unity中,通过属性修改脚本中变量存储的数据。被private修饰的变量与public刚好相反,拒绝被外界访问和修改。因此变量中的数据无法被外界修改,Unity也就不会将此类变量作为属性显示在Inspector视图中。这么看来,这是一个很明智的决策!

    Unity设定属性的数据类型

    属性就是变量,它们二者只是同一事物在不同场景下的不同称呼而已。在Unity中,应该说属性有不同的数据类型,但是如果在脚本中,就只能说变量有不同的数据类型了。数据类型是什么?读者实际上已经在脚本中见过的,如图3-8所示。


    3-8  脚本中的3种数据类型

    Unity中的数据类型

    计算机可以存储各种各样的数据,而计算机对于不同类型的数据的存储和处理方式是不同的。因此,为了让计算机更好的处理指定的数据,最好为数据指定类型。C#中的数据类型可以分为图3-9所示的几大类。


    3-9  数据类型的分类

    Unity中常用的数据类型是简单值类型,如表3.1所示。

    3.1  简单值类型


    为变量或者说属性设置类型的依据是,看看数据处于哪一个范围。例如,262只能使用long类型存储,但是对于50,可以使用所有的整型类型存储,这时就要看哪个类型最合适了。

    Unity属性数据类型的体现形式

    对于属性而言,不同数据类型的属性可以存储的数据种类不同,因此它在Inspector里的数据输入形式就会不同,如图3-10所示。


    3-10  Inspector视图里,不同种类的属性

    • q  intfloatdouble类型的数据都是数值,因此在未指定iValuefValuedValue所指代数据的具体值时,Unity会自动为属性赋值0

    • q  string类型的数据是字符,因此在未指定strValue所指代数据的具体值时,Unity会自动为属性赋值“空字符”;

    • q  bool类型的值只可能是true或者false,因此Unity使用了一个复选框表示bValue所指代的数据,且默认设置其为false,当复选框被复选时,表示值为true

    本文选自:C#游戏开发快速入门大学霸内部资料,转载请注明出处,尊重技术尊重IT人!


    展开全文
  • js 对象属性名为变量

    千次阅读 2016-11-02 12:21:55
    js 对象属性名为变量

    在React项目中不可避免要用到setState(obj)这个函数,其中,obj为一个对象。如果传不同的obj可以,修改组件不同的状态。有的时候就想obj能根据参数动态生成。

    handleChange(event, type) {
        let val = event.target.value.trim();
        this.setState({
            type: val 
        });
    }

    这里就是希望通过参数type来修改不同的状态,但这么写是不能正确实现的,因为type是一个变量,这里是要用变量作为js对象的属性名,正确写法如下:

    handleChange(event, type) {
        let val = event.target.value.trim();
        let change = {};
        change[type] = val;
        this.setState(change);
    }
    展开全文
  • 对象属性变量

    千次阅读 2019-05-16 08:27:36
    如题,类似这样定义了一个变量: var key = "name"; var value = "Merry"; var obj = { key: value}; 结果发现obj的属性是key,而不是预期的name,那么应该怎么写呢? var obj = { [key]: value}; 关于这个...

    如题,类似这样定义了一个变量:

    var key = "name";
    var value = "Merry";
    var obj = { key: value};

    结果发现obj的属性是key,而不是预期的name,那么应该怎么写呢?

    var obj = { [key]: value};

    关于这个问题,大家可以查看阮一峰的ECMScript 6入门:10. 对象的扩展     之    2. 属性名表达式

    展开全文
  • JavaScript 使用变量访问对象属性

    千次阅读 2018-11-28 21:23:09
    当你需要遍历对象属性列表或查表时,这种方式极为有用。 这有一个使用变量来访问属性的例子: var someProp = "propName"; var myObj = { propName: "Some Value" } myObj[someProp]; // &...
  • frida修改对象属性(变量

    千次阅读 2019-05-19 21:44:43
    mon.name.value="haidragon"; send(mon); send(mon.name.value); var numid = Java.cast(mon.getClass(),clazz).getDeclaredField('num'); numid.setAccessible(true); var value = numid.get(mon); console....
  • @js监听变量值或对象属性值变化的方法 js监听变量值或对象属性值变化的方法 监听值的改变 此方法用于监听对象属性值的改变, 要监听js中的变量可以加在一个对象中监听即可 监听的对象是Data , 监听的变量是data ...
  • VUE中如何根据一个字符穿或者一个变量,动态获取对象属性值。如scope.row.col04和scope.row.col05应该是根据变量col02和col03的值来判断获取scope.row的哪个属性的 ``` 插件: :data="{ids: scope.row.col...
  • control变量value变量

    千次阅读 2011-12-22 11:18:10
    control型变量是这个控件所属类的一个实例(对象)可以通过这个变量来对该控件进行一些设置。而value只是用来传递数据,不能对控件进行其它的操作。 control型变量可以获得控件的实例,通过这个变量,你可以操纵...
  • Spring Boot 环境变量读取 和 属性对象的绑定

    万次阅读 多人点赞 2016-08-31 11:00:53
      第一种方法,参见catoop的博客之 Spring Boot 环境变量读取 和 属性对象的绑定(尊重原创)  第二种方法,class不用继承任何东西,只需在类中添加属性@Inject private Environment env;调用OTHER_DIR = env....
  • js 对象属性名为变量

    千次阅读 2018-11-14 16:11:10
    如表所示,需要获取参数名称和参数值组成对象传入后台 代码: <script> var paramMap = {}; $(".table").find("tbody tr").each(function () { var param_name = $(this...
  • var asfman = {}; asfman.dict = { "keys": function(obj){ var b = []; for(var i in obj){ b.push(i); } return b; }, "values": function(o
  • js 变量作为 对象属性

    千次阅读 2015-06-16 10:53:09
    用[]的方式即可 obj[addvar]=addvar_value; 参考网址: http://www.phper163.com/archives/405
  • 对象变量和方法 在OPC UA中,最重要的节点类别是对象变量和方法...对象也可以是一个事件通知器(设定EventNotifier属性),客户端可以订阅事件通知器来接收事件(事件在地址空间中是不可见的,被绑定到对象)。...
  • 调用对象的成员变量属性 调用Map的对象属性 调用List的对象属性 调用属性的方法 使用ctx对象 param:获取request的请求参数 session:获取session的属性值 application:获取application的属性
  • ``` public class TestBean {  private String selTestBean...colList中的字符串是testBean中的属性名,一一对应,str变量的值即testBean的属性 input标签的value值是testBean对应属性的值,value值要怎么写
  • http://blog.csdn.net/pipisorry/article/details/50708616python对象属性Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。属性的__dict__系统对象的属性可能...
  • JavaScript通过var定义全局变量与在window对象上直接定义属性的区别关于window区别一区别二区别三 关于window 一、所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 二、全局变量是 window ...
  • vue开发在写事件监听时直接使用watch不起作用,查了下需要用到watch的deep属性,过程如下 有一个对象: data () { return { valueGroups: { systemValue: 0, firstValue: [], secondValue: [], ...
  • Java Unsafe获取对象成员变量相对对象内存地址偏移量   UnsafeTestKlass public class UnsafeTestKlass {    private int value;    public UnsafeTestKlass() {  this(99);  }    public ...
  • 并发访问对象变量

    千次阅读 2012-03-29 19:53:59
    单例模式中涉及到了synchronized和volatile,在这小结下synchronized和volatile来控制对象变量的并发访问。 易变成员变量修饰符volatile:  volatile用于告诉VM:它不应当保存变量的私有拷贝,而应当直接与共享...
  • 凡是被Spring管理的类,实现接口 EnvironmentAware 重写方法 setEnvironment 可以在工程启动时,获取到系统环境变量和application配置文件中的变量。 如: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20...
  • 本文章来自【知识林】如标题所述,这篇文章主要讲述Thymeleaf中的内置对象(list解析、日期格式化、数字格式化等)、定义变量、获取URL的参数和在页面标签中自定义属性的应用。如果对Thymeleaf的基本使用、maven依赖...
  • 如果需要读取配置文件application.yml 的属性值,只需要在变量上加 @Value("${属性名}") 注解,就可以将配置文件 application.yml 的一个属性值赋值给变量。 如: 但是,如果我们在对象的构造方法中...
  • struts2中,session 存放对象变量,以及取值 ==================== 本篇文章主要是介绍,我近期在Jsp与struts2中,学习session的一些心得。 Ps:个人推荐储存对象,因为比较……好玩! Ps:学得比较粗糙。。 ...
  • python:对象属性与类属性

    千次阅读 2017-06-20 23:38:45
    python中的继承概念和java中的继承概念是不同。 从我个人角度来理解就是:python中,类也是... python中类的属性,有点类似于java中的静态变量/静态属性。下面看一个简单的例子: #!/usr/bin/env python # -*- codin

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 512,589
精华内容 205,035
关键字:

对象属性变量value