宋仲基韩语怎么写董江明怎么写,,,,,,

董江明,老码农一个
高级技术总监
推荐用imagemagick
建立socket,然后发送或读取数据,按协议分析数据。最常见是实现http协议实现的代码…
代码量和trac中完成任务情况,这是量化的部分,只有这些是不够的。我的经验,还需补…
暂时没有动态
已有帐号?
无法登录?
社交帐号登录韩语董江明怎么写,,,,,,_百度知道
韩语董江明怎么写,,,,,,
董 江明강 명董 江明&#44053董 江明강 동 동 명 동 &#47749
来自团队:
其他类似问题
为您推荐:
韩语的相关知识
其他1条回答
동강명 董江明
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁抱歉,您要访问的页面不存在或被删除!
5秒后将自动跳转到新浪博客首页。
1.请检查输入的网址是否正确。
2.如果不能确认输入的网站,请浏览查看所要访问的网址。
3.直接输入要访问的内容进行搜索:
如还有疑问请联系新浪客服:致电JS:&js的继承实现(ZT)
JS: js的继承实现(ZT)
jimmy | 27 六月, 2006
在prototype.js中extend实现中,只是简单的属性拷贝。
在dojo的lang.js中,也有个属性拷贝的函数 叫 dojo.lang.mixin。显然dojo的实现严谨多了。
既没有改变Object.prototype,另外toString函数也可以拷贝到目标对象中。 如果你熟悉
commons-beanutils
的copyProperties方法,那么就好理解了,但要注意javascript中function函数也是数据类型。
Dojo中采取了另外一种实现模式
1、对象的继承
在prototype.js中extend实现中,只是简单的属性拷贝。
在dojo的lang.js中,也有个属性拷贝的函数 叫 dojo.lang.mixin。显然dojo的实现严谨多了。
既没有改变Object.prototype,另外toString函数也可以拷贝到目标对象中。 如果你熟悉
commons-beanutils
的copyProperties方法,那么就好理解了,但要注意javascript中function函数也是数据类型。
dojo.lang.mixin = function(obj, props) {
var tobj = {} ;
for (var x in props) {
if (typeof tobj[x] == undefined || tobj[x] != props[x])
obj[x] = props[x];
// IE doesn't recognize custom toStrings in for..in
if (dojo.render.html.ie &&
dojo.lang.isFunction(props[ toString ])
&& props[ toString ] != obj[
toString ]) {
obj.toString = props.toS
&SCRIPT LANGUAGE=JavaScript&
function pf(key,msg){
document.writeln(&div&+key+':'+msg+&/div&);
Object.extend = function(destination, source)
for (property in source) {
destination[property] = source[property];
function Source(name){
this.name=
Source.prototype.getName=function(){
return this.
Source.prototype.obj={name:'aaa'};
Source.prototype.toString=function(){
return this.
var source=new Source('zkj');
var obj={};
pf('obj.name',obj.name)
Object.extend(obj,source);
pf('obj.name',obj.name)//zkj
pf('source',source)//zkj
pf('obj',obj)//没有拷贝toString函数
pf('source.obj.name',source.obj.name)//aaa
obj.obj.name='bbb';
pf('obj.obj.name',obj.obj.name) //bbb
pf('source.obj.name',source.obj.name)
对象之间的属性拷贝(extend) 和java c++中继承概念完全不一样。有几个问题需要注意
a、如果源对象的属性在 (for in) 不出现,那目标对象将不全。 for in
b、如果源对象的属性是prototype的属性,也可以拷贝,但目标对象将当作自己的属性来使用。
c、如果属性是对象(引用传递),那任何持有者修改这个对象,内容全部都修改了。所以只是“浅度clone”.你也可以模仿dwr
DWRUtil.toDescriptiveString方法实现多层的属性拷贝(没必要吧)。
d、如果属性是方法,那目标对象使用方法可能会出现问题,因为方法中很可能包括 this
关键字。所以我觉得javascript对象只当作数据模型使用可能会简单很多。如DWR框架,这也是我喜欢dwr原因之一,完全以数据为核心的AJAX框架。
2、自定义类的继承
我把用function定义的类叫自定义类。如 function
Person(name){this.name=name};
这种类有个复杂的原型对象porotype。
如果用prototype.js实现这类的继承,只能变相的通过原型对象的拷贝来实现。(Object.extend(des.prototype,source.prototype))。这样两个类的原型对象内容一样,但这种方法叫继承太过牵强,我感觉用起来有一定限制。(大家可以读prototype.js看到这种用法)
关于类的继承我推荐dojo或犀牛书中写法。
&SCRIPT LANGUAGE=JavaScript&
var dojo={};
dojo.lang={};
dojo.inherits = function(subclass,
superclass){
subclass.prototype = new superclass();
subclass.prototype.constructor =
subclass.superclass = superclass.
dojo.lang.mixin = function(obj, props){
var tobj = {};
for(var x in props){
if(typeof tobj[x] == undefined || tobj[x] != props[x])
obj[x] = props[x];
// IE doesn't recognize custom toStrings in for..in
if(true) {
obj.toString = props.toS
dojo.lang.extend = function(ctor, props){
this.mixin(ctor.prototype, props);
dojo.lang.extendPrototype = function(obj,
props){
this.extend(obj.constructor, props);
function Person(){
Person.prototype.getName=function(){
return this.
Person.prototype.setName=function(name){
this.name=
Person.prototype.toString=function(){
return this.
function Man(){
dojo.inherits(Man, Person);
dojo.lang.extend(Man,{
getName:function(){return
this.name+' of Man';},
getAge:function(){return
this.},
setAge:function(age){this.age=}
var man=new Man();
man.setName('zkj');
man.setAge(25);
alert(man.getName());
alert(man.getAge());
alert(Man.superclass.getName.call(man,null));//父方法
这样模拟的java中的继承,也有方法覆盖等概念,可对于javascript语言来说,这样造成一定的复杂性。有几个方面需要注意:
a、在java中,继承是为了代码重用,语言的特性决定java继承是有用的(多用接口代替继承)。但javascript中,继承存在好象没那么必要,估计是那帮java迷的杰作。
b、javascript语言的可重用代码比较难写,不同浏览器,语言版本也带来一些复杂性。javascript包机制,模块划分,严格的语法检查等等的不完善支持,造成javascript代码的一片混乱。
c、javascript在网页中的作用与java,c++作用不同,实现的功能决定高级语言特征不需要。但现在ajax的兴起可能有改观。
d、继承虽然可以模拟实现,但这只是模拟,并不是语言底层支持,在代码质量、代码风格、可读性、可维护性都会造成一定麻烦。如果你用了dojo,那你必须让读你代码的人也熟悉dojo。或知道你的代码实现思路。
e、IDE支持。javascrit极大的软肋,就不多说。javascript框架的复杂度、推广的难度,编译检查等,决定javascript的复杂应用只是少数人能干的事。
f、浏览器中javascript需要多线程吗?好象csdn见有人模拟了个实现。完全不需要。浏览器下载了代码,自己用自己的。所以我认为javascript中只有静态
(static)方法就够了,没必要有对象概念。只要var obj=new
Object();这种只放数据的对象加上静态方法就够了。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 宋仲基韩语怎么写 的文章

 

随机推荐