2021SC@SDUSC amis代码分析(3)

2021SC@SDUSC

概述

本周开始分析amis的helper工具库代码。
在这里插入图片描述
本文件中的各种函数被其他文件大量调用,有很多基础功能的实现。
我首先学习的是工具文件中对对象操作的用法。

createObject

自定义创建对象函数:以 superProps 为原型,包括 props 的自身所有属性以及自定义 properties 属性

export function createObject(
  superProps?: {
    [propName: string]: any},
  props?: {
    [propName: string]: any},
  properties?: any
): object {
   
  // 含有 superProps 参数且可操作 
  // Object.isFrozen() -> 判断对象是否被冻结
  if (superProps && Object.isFrozen(superProps)) {
   
    superProps = cloneObject(superProps); // 克隆对象,防止对原对象的污染
  }
  /* properties 结构
  {
    'property1': {
      value: true,
      writable: true
    },
    'property2': {
      value: 'Hello',
      writable: false
    }
    // etc. etc.
  }
  */
  const obj = superProps
    ? Object.create(superProps
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值