小编nah*_*hab的帖子

原型继承.obj-> C-> B-> A,但是obj.constructor是A.为什么?

var print = function(text){
  document.write(text);
  document.write("</br>");
}

var A = function(){
}
A.prototype.name="A";

var B = function(){
}
B.prototype = new A();
B.prototype.name="B";

var C = function(){
}
C.prototype = new B();
C.prototype.name="C";

obj = new C();
print(obj.name);
print(obj.constructor.prototype.name);
print(obj.constructor == A);
Run Code Online (Sandbox Code Playgroud)

此代码提供下一个输出:

C
A
true
Run Code Online (Sandbox Code Playgroud)

为什么这里的obj.constructor是A而不是C?

javascript

7
推荐指数
1
解决办法
1653
查看次数

为什么这段代码有效:"(1,eval)('this')"

为什么下一个代码是有效的Javascript代码?

var global = (1,eval)('this');

alert(global);
Run Code Online (Sandbox Code Playgroud)

javascript

7
推荐指数
1
解决办法
151
查看次数

基于原型继承的应用程序在现实生活中的应用

基于类的继承显示了它在创建大型编程系统(尤其是GUI系统)时的实用性.

如何在现实生活中应用基于原型的继承?我们应该如何构建系统而不是创建类层次结构?

这里是否存在基于类的OOP存在的基于真实原型的OOP的编程模式?

javascript inheritance design-patterns prototypal-inheritance prototype-programming

6
推荐指数
1
解决办法
214
查看次数

将属性值限制为子属性(引用现有值)

我有这样的xml:

<userCredentials default="user1" >
    <userCredential username="user1" password="pwd" />
    <userCredential username="user2" password="pwd" />
    <userCredential username="user3" password="pwd" />
</userCredentials>
Run Code Online (Sandbox Code Playgroud)

我怎样才能将属性default//userCredential[@username]值重新定义为值之一?

在我的xsd方案下面:

<xs:complexType name="userCredential">
  <xs:attribute name="username" type="xs:string" use="required" />
  <xs:attribute name="password" type="xs:string" use="required" />
</xs:complexType>    

<xs:complexType name="userCredentials">
  <xs:sequence>
    <xs:element name="userCredential" type="tns:userCredential" minOccurs="1"
                maxOccurs="unbounded" />
  </xs:sequence>
  <xs:attribute name="default" use="required" >
      <xs:simpleType>
        <xs:restriction>
          <xs:pattern value="" />
        </xs:restriction>
      </xs:simpleType>
  </xs:attribute>        
</xs:complexType>  
Run Code Online (Sandbox Code Playgroud)

xml xsd

3
推荐指数
1
解决办法
3613
查看次数

slf4j如何将sfl4j-api中放置的org.slf4j.impl.StaticLoggerBinder替换为真正的StaticLoggerBinder

slf4j api 中存在类 org.slf4j.impl.StaticLoggerBinder、org.slf4j.impl.StaticMarkerBinder、org.slf4j.impl.StaticMDCBinder。但是到具体记录器的每个绑定都应该包含相同的类。

例如:

http://grepcode.com/file/repo1.maven.org/maven2/org.slf4j/slf4j-api/1.6.1/org/slf4j/impl/StaticLoggerBinder.java?av=f

及其log4j实现: http://grepcode.com/file/repo1.maven.org/maven2/org.slf4j/slf4j-log4j12/1.6.1/org/slf4j/impl/StaticLoggerBinder.java ?av=f

java类加载器如何替代它?这里不应该是一个例外吗?

java classloader slf4j

3
推荐指数
1
解决办法
4088
查看次数

Unix shell:将带有目录名的文件转换为':'分隔的classpath

我使用Java5,我不想在Classpath中指出每个.jar文件,所以我试着编写小的shell脚本:

find $LIB_DIR -name '*.jar' -print > /tmp/classpath
CP= 
cat /tmp/classpath | while read line
do 
CP=$CP:$line
done 
rm -f /tmp/classpath
Run Code Online (Sandbox Code Playgroud)

但这不起作用 - $ CP变量是空的.

因此,$ CP应该是单个字符串,其中包含由':'分隔的路径

有谁知道这里有什么问题,以及如何正确地将所有文件的行连接到一个字符串?

java unix shell java-5

1
推荐指数
1
解决办法
574
查看次数