fromopen函数通达信_precision函数

fromopen函数通达信_precision函数apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。  不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。 apply方法的签名为“apply(Objectobj,Objectconfig,Objectdefaults):Object”, 该方法包含三个参数…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。

 

 

不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。

 

apply方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”,

 

该方法包含三个参数:

第一个参数是要拷贝的目标对象,

第二个参数是拷贝的源对象,

第三个参数是可选的,表示给目标对象提供一个默认值。

可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象。

看下面的代码:

 

var b1={ p1:”p1 value”, p2:”p2 value”, f1:function(){alert(this.p2)}};

 

var b2=new Object();

 

b2.p2=”b2 value”;

 

Ext.apply(b2,b1);

b2.f1();

在上面的代码中,Ext.apply(b2,b1)这一语句把b1的属性拷贝到了b2对象中,因此调用b2的f1方法可以弹出”p2 value”的提示信息。尽管b2对象已经包含了p2属性值,但拷贝后该属性值会被覆盖。可以在调用apply方法时,在第三个参数中指定拷贝属性的默认值,比如下面的代码:

 

 

Ext.apply(b2,b1,{p3:”p3 value”});

 

alert(b2.p3);

 

这样会使得b2中包含一个p3的属性,值为”p3 value”。

 

 

applyIf方法的功能跟apply一样,只是不会拷贝那些在目标对象及源对象都存在的属性。比如把前面演示apply方法的代码改成applyIf,

 

如下:

 

Ext.applyIf(b2,b1);

b2.f1();

由于b2中已经存在了p2属性,因此,b2.f1()方法中引用this.p2的时候,得到的是”b2 value”,而不是在b1中定义的”p2 value”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164720.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css 文字自适应大小_div自适应窗口大小

    css 文字自适应大小_div自适应窗口大小viewpointcss3提供了一些与当前viewpoint相关的元素,vw,vh,vmin,vmax等。“viewpoint”=windowsizevw=1%ofviewportw

    2022年8月5日
    7
  • linux上安装Openssl步骤详解

    1,查看原有系统是否已安装Opensslopensslversion-a系统已经安装了openssl,我们先安装新的版本,然后将环境配置成最新的版本。2,从openssl官网下载最新的稳定版本,https://www.openssl.org/source/当前的稳定版是openssl-fips-2.0.16.tar.gz(联邦信息处理标准(FederalInformationProc

    2022年4月3日
    42
  • CentOS8 关闭防火墙,禁用防火墙「建议收藏」

    查看状态systemctlstatusfirewalld.service打开防火墙systemctlstartfirewalld.service关闭防火墙systemctlstopfirewalld.service开启防火墙systemctlenablefirewalld.service禁用防火墙systemctldisablefirewal…

    2022年4月11日
    56
  • sql第九章简答题_sql语句declare用法

    sql第九章简答题_sql语句declare用法文章目录第二十六章SQL命令DECLARE大纲参数描述游标名称通过游标更新示例第二十六章SQL命令DECLARE声明游标大纲DECLAREcursor-nameCURSORFORquery参数cursor-name-游标的名称,必须以字母开头,并且仅包含字母和数字。(游标名称不遵循SQL标识符约定)。游标名称区分大小写。它们受其他命名限制的约束,如下所述。query-定义游标结果集的标准SELECT语句。此选择可以包括%NOFPLAN关键字,以指定应忽略此查询的

    2022年8月20日
    4
  • totalcmd简单教程–help详解

    totalcmd简单教程–help详解configuartio 对话框中有个 tabstops 这表示每一栏的宽度 好像只对 Allfiledetai 按第三个 button 或对 tabstop 右键选 full 栏起作用 什么是 tabstop 对每一个 dialog 都可点 help 也可在 index 中输入 dialog 要想显示 comment 首先在 option display 中打开相应选项 最

    2025年7月24日
    5
  • pycharm卸载了环境变量还在怎么办_pycharm使用教程

    pycharm卸载了环境变量还在怎么办_pycharm使用教程因为之前的pycharm是社区版的,有些功能不全,所以需要重装专业版重装pycharm最大的顾虑就是之前的库能否保留以及能否删除干净1.之前的库包卸载之前找到我之前的库包所用编译器,记下路径就行注意:因为python跟pycharm是单独存在的,所以删除的pycharm并没有影响python里安装的库包2.删除正版软件删除是最简单的,找到文件所在位置,直接卸载就行这里注意两个红色箭头要全选,然后等待卸载结束就行。3.重新安装下载链接:http://www.jetbrains.com/

    2022年8月27日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号