- js对象的深入理解(四-----精华篇)
感觉不错哦
本篇将讲解js对象的存取器,介绍两个重要的对象方法为什么vue不兼容IE8,因为IE8不兼容ESMAScript5,Vue会将对象所有的属性遍历,使用Object.defineProperty把这些属性全部转为getter/setter.(存储器)在ES5中,对象的属性值可以用一个或两个方法代替,这两个方法就是getter和setter,由getter和setter定义的属性被称为存取器属性,它不
- 【大前端专栏】突破桎梏(五):初识 ECMAScript
泡泡码客
前端jsjavascript大前端前端ecmascript
今天我们来介绍【诶可码·斯柯瑞噗特】和它的新特性。系统化的学习ECMAScript很有必要,而网上的ECMAScript资料比较零散,因此我们根据下面问题从ES2015开始梳理ES2015的发展与新特性介绍。ECMAScript与JavaScript的关系?ES6为什么指的是ESMAScript2015ECMAScript2015(ES6)新特性介绍let与块级作用域const1.ECMAScri
- 2021-11-19
默默_01cf
二、选择结构目录1.JavaScript的组成1.三大核心2.window对象的常用方法2.if选择结构3.多重if选择结构4.嵌套if选择结构5.switch选择结构6.三元表达式1.JavaScript的组成1.三大核心ESMAScript核心语法(标准规范)->ES6BOM浏览器对象模式,其实就是window对象,该对象可以操作浏览器DOM文档对象模型,其实就是document对象,该对象可
- ES2015(ES6)的一些新特性梳理(一)
每依北斗望京华灬
javascriptjses6
ES2015(ES6)的一些新特性梳理(一)前言一、let&&const带来的块级作用域1.1题外话for循环的两层作用域二、Symbol类型和迭代器模式2.1Symbol对象的独一性1.2Symbol.for()实现复用1.3利用Symbol定义对象的私有变量1.4基于Symbol.iterator的迭代器模式1.5题外话:ESMAScript规定我们假如要重写对象的toString()等方法的
- ES6中let,const,解构赋值的用法
诚不待我
javascript前端开发语言
ES6全称ESMAScript,由ECMA国际标准化组织,是一门脚本语言的标准化规范。ES6新增用于声明变量关键字let、const。1.letlet声明变量只在所处于的块级有效,let不存在变量提升,let关键字声明的变量会由暂时性死区特性,在一个大括号中,使用let关键字声明的变量才具有块级作用域。2.constconst声明常量,常量指值(内存地址)不变化的量,常量具有块级作用域,声明常量时
- 突破桎梏(五):一文详解 ECMAScript
泡泡码客
大前端之突破桎梏前端jsjavascriptecmascriptecmascript6大前端
一万八千字,先码后看,感谢收藏。上篇我们介绍了函数式编程:【大前端专栏】突破桎梏(二):函数式编程今天我们来介绍【诶可码·斯柯瑞噗特】和它的新特性。系统化的学习ECMAScript很有必要,而网上的ECMAScript资料比较零散,因此我们根据下面问题从ES2015开始梳理ES2015的发展与新特性介绍。ECMAScript与JavaScript的关系?ES6为什么指的是ESMAScript201
- JS的三大组成(ES,DOM,BOM)
生命不息战斗不止(王子晗)
前端(js为主)jsdombomesjavascript
学习目标:真正了解JS学习内容:ES是国际标准化组织发布的浏览器脚本语言的标准,全名:ECMAScript。ES是JS语言的国际标准,JS是ES的实现。在日常场合,两个词可以互换。ES是JS的子集,它是JS的内容的一部分,一个完整的JS实现是由以下三部分组成:1、核心(ESMAScript):规定了JS的语法、类型、语句、关键字、保留字、操作符、2、对象文档对象模型(DOM):是用于HTML的应用
- 原来ESMAScript的历程这么辛酸
阿甘呀
(转载)ECMAScript的历史ES6从开始制定到最后发布,整整用了15年。ECMAScript1.0是1997年发布的,接下来的两年,连续发布了ECMAScript2.0(1998年6月)和ECMAScript3.0(1999年12月)。3.0版是一个巨大的成功,在业界得到广泛支持,成为通行标准,奠定了JavaScript语言的基本语法,以后的版本完全继承。直到今天,初学者一开始学习JavaS
- javascript 对象的深拷贝
a2c370515a15
文章首发于个人博客前提在处理日常的业务开发当中,数据拷贝是经常需要用到的。但是javascript提供的数据操作Api当中能实现对象克隆的都是浅拷贝,比如Object.assign和ES6新增的对象扩展运算符(...),这两个Api只能实现对象属性的一层拷贝,对于复制的属性其值如果是引用类型的情况下,拷贝过后的新对象还是会保留对它们的引用。简单粗暴的深拷贝ESMAScript给我们提供了关于操作J
- 前端白皮书
码化疼0
前端前端javascript开发语言
文章目录JS闭包回调JQuery语法选择器过滤器函数AJAX三种写法Vue语法属性绑定指令循环监听JSJavaScript是解释型语言,弱类型脚本语言,使用浏览器的JS引擎进行解释,例如Chrome浏览器的V8,读取网页内的js代码,对其处理后运行,逐行执行(变量收集和分号补全)浏览器分为渲染引擎和JS引擎,渲染引擎俗称内核,用来解析HTML和CSSJS由核心ESMAScript、DOM(文档对象
- javascript与ES6
九月花生
javascript前端
JavaScript与ES6javascript是一种弱类型的脚步语言,用于动态渲染html。由核心(ESMAScript)、文档对象模型(DOM)和浏览器对象模型(BOM)三部分组成ES6是第六个版本(ES6),它是JavaScript语言的下一代标准ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。所以ES6是JavaScript的一个
- w3c标准与规范
Lilio1216
htmlcssdom
目录什么是w3c标准?为什么要遵循W3C?标准的内容有哪些?html5为什么不需要声明时引用DTD文档了?如何将现有的HTMl转换为XHTMLXHTML未来会怎样什么是w3c标准?w3c:万维网协议,是一系列标准的集合,本质是结构标准语言主要分3个方面:1、结构化标准语言(HTML)2、表现性标准语言(CSS)3、行为标准(DOM、ESMAScript)为什么要遵循W3C?开发者作为浏览器生产商和
- TypeScript-中高级应用
短暂又灿烂的
前端typescriptjavascript前端
TypeScript中高级应用与最佳实践当我们讨论TypeScript时,我们在讨论什么?TypeScript的定位JavaScript的超集编译期行为不引入额外开销不改变运行时行为始终与ESMAScript语言标准一致(stage3语法)TypeScript中的Decorator较为特殊,为Angular团队和TypeScript团队交易的结果,有兴趣可自行搜索相关资料。而且近期EcmaScri
- 你知道ES6中的这些属性吗
一颗冰淇淋
javascriptjavascript前端函数式编程
ES6,也称ESMAScript2015,这个版本增加了很多好用的特性变量声明ES6之前用var来定义变量,ES6增加了两个变量声明的方式,分别为const和let,const用来定义常量,let用于定义变量,弥补了使用var来定义的漏洞。var有变量提升,在全局/函数中定义的变量都会被提升到全局/函数的最上方,值为undefinedvar没有块级作用域的概念,通过if/for/switch定义的
- JavaScript-ES6新特性详解
Hello!娄同学
javascriptes6前端
ES6新特性详解1.ES6的概念2.声明变量4.字符串5.解构6.箭头函数7.函数参数8.calss类1.ES6的概念ES6:ESMAScript6,新的javascript语法标准2015正式推出作用:为了js更加快捷与方便2.声明变量在es6中我们通常用let来定义变量和const来定义常量,这两种方式和var(全局变量)有什么区别的?接下来详解:1.var(全局变量)在JavaScript中
- JS获取对象属性名总结
最近面试遇到问如何获取对象全部属性名的方法,总结一下:对象属性类型分类:1.ESMAScript分类数据类型又分为可枚举和不可枚举类型访问器类型2.上下文分类原型属性实例属性1.列举自身但不包括原型的可枚举属性名Object.keys(obj)//遍历对象functionPerson(name,age){this.name=name;this.age=age;}Person.prototype.d
- 你知道ES6中的这些属性吗
javascript前端es6
ES6,也称ESMAScript2015,这个版本增加了很多好用的特性变量声明ES6之前用var来定义变量,ES6增加了两个变量声明的方式,分别为const和let,const用来定义常量,let用于定义变量,弥补了使用var来定义的漏洞。var有变量提升,在全局/函数中定义的变量都会被提升到全局/函数的最上方,值为undefinedvar没有块级作用域的概念,通过if/for/switch定义的
- 怎么实现javascript对象的深拷贝
konglingwen94
javascript前端es6
文章首发于个人博客前提在处理日常的业务开发当中,数据拷贝是经常需要用到的。但是javascript提供的数据操作Api当中能实现对象克隆的都是浅拷贝,比如Object.assign和ES6新增的对象扩展运算符(...),这两个Api只能实现对象属性的一层拷贝,对于复制的属性其值如果是引用类型的情况下,拷贝过后的新对象还是会保留对它们的引用。简单粗暴的深拷贝ESMAScript给我们提供了关于操作J
- 《JavaScript语言精粹》内容精选
StephenTian
atomhtml5javascript
最近在读《JavaScript语言精粹》这本书,作者是DouglasCrockford;DouglasCrockford是一名来自Yahoo!的资深JavaScript架构师,以创建和维护JSON(JavaScriptobjectnotation)格式而为大家所熟知。他会定期在各类会议上发表有关高级JavaScript的主题演讲。他也是ESMAscript委员会的成员之一。本来想写一篇读后感的,但
- js高程学习之继承
qq_42372534
JS
//继承//ESMAscript由于函数没有签名,不支持接口继承,只支持实现继承,通过原型链。//所有函数的原型对象都是Ojbect的实例(故在不继承的情况下,自定义类型的实例的原型是Ojbect.prototype),而Ojbect函数的原型对象的原型是null(原型链末端)*************************************************//原型链//继承的基本
- ESMAScript5严格模式 (use strict)
思维跳跃
#ES6jsjavascriptes6
ESMAScript5严格模式(usestrict)JavaScript严格模式(strictmode)即在严格的条件下运行目录ESMAScript5严格模式(usestrict)使用"usestrict"指令严格模式声明使用"usestrict"严格模式的限制保留关键字使用“usestrict”指令“usestrict”指令在ECMAScript5.0中新增它不是一条语句,但是是一个字面量表达式
- ES6常用新语法总结
小北lulu
es6
ES6介绍ES6的名称为ESMAScript2015(es2015),是2015年6月份发行的,它是最新ECMAScript的代表版本,一是因为相对与es5变化比较大,二是因为它的发行让标准命名规则发生了变化,ES6更准确的缩写名称应该叫ES2015,ES6的出现最主要的解决了以下几个问题:解决原有语法上的一些问题或不足(比如let,const)对原有语法进行增强,更加易用(比如解构,展开,参数默
- JavaScript系列—async函数
jiaojsun
JS的33个概念
本文整理自阮一峰《ESMAScript6》用更简洁的语言理清楚async函数http://es6.ruanyifeng.com/#docs/async1.含义async函数是什么?一句话,它就是Generator函数的语法糖。Generator函数,依次读取两个文件。constfs=require('fs');constreadFile=function(fileName){returnnewPr
- ECMAScript简介以及es6新增语法
weixin_30374009
ECMAScript简介ECMAScript与JavaScript的关系ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现。(前者是后者的规格,后者是前者的实现。但通常两者是可互换的。)ESMAScript的历史1996年11月,Netscape公司将Js提交给国际化标准组织ECMA,当初该语言能够成为国际化标准。1997年,ECMAScr
- ES6入门—— ECMAScript简介
Dragon_GL
JavaScript
ECMAScript6(简称ES6)是JS语言的下一代标准。Mizilla将在这个标准的基础上,退出JavaScript2.0版。ECMAScript和JavaScript的关系ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现。(前者是后者的规格,后者是前者的实现。但通常两者是可互换的。)ESMAScript历史1996年11月,Nets
- es6
goodluckall
一、基本1.目前用的版本是ESMAScript3.0,后来改名为ECMAScript5.01。2.ECMA-262是JavaScript标准的官方名称javascript组成ESCAScript描述了该语言的语法和基本对象。文档对象模型(DOM),描述处理网页内容的方法和接口。浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。3.ECMAScript6的特点ES6增添了许多必要的特性,例
- <<深入理解ES6>>记:三
闫小兀
第三章函数1.函数形参的默认值functionmakeRequest(url,timeout=2000,callback=function(){}){}2.arguments在非严格模式下,命名参数的变化会同步更新到arguments对象中,然而,在ESMAScript5的严格模式下,取消了arguments对象的这个令人感动疑惑的行为function(first){console.log(fir
- 2017-05-15西安邮电创新实验室 Tech Lead鱼娟
鱼娟note
从个人的角度来看:今天我的心情怎么样?有什么印象深刻的事情?今天心情不错。印象深刻的事情重温了>-帅气男老师遇上顽皮小正太,剧情很温暖人心呐!什么事情让我获得了成就感?遇到了什么问题?意志力打卡:每天回顾前端知识点画了ESMAScript和React概念图组内retro,对新人们的HTML试卷进行codeview有什么疑惑和纠结的地方?有什么需要帮助的地方?没有.暂时不需要帮助从整个项目组的角度来
- 浏览器中的JavaScript是如何运行的
思维跳跃
#ES6队列网络jsjavascriptes6
浏览器中的JavaScript运行机制JavaScript是单线程,可以通过异步来实现多线程目录浏览器中的JavaScript运行机制ESMAScript和JavaScript的关系JSEngine(JS引擎)Context(执行上下文)CallStack(调用栈)EventLoop(事件循环)JavaScript运行机制浏览器的线程ESMAScript和JavaScript的关系客户端:浏览器里
- 2017-05-16西安邮电创新实验室 Tech Lead鱼娟
鱼娟note
从个人的角度来看:今天我的心情怎么样?有什么印象深刻的事情?今天心情不错。印象深刻的事情是给胡皓老师showcase代码时,老师提到了用户信息保存时的安全问题,所以我在trello上添加了一张任务卡来改善安全问题什么事情让我获得了成就感?遇到了什么问题?意志力打卡:每天回顾前端知识点组内交流了ESMAScript和React概念图和组员showcase项目还有改了一个bug(详情见技术难题)有什么
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持