这只是一个简单的问题.无论哪种方式都有效.我更喜欢我的第一个例子,但我不知道这样做是否会导致分配比第二个例子更多的内存,因为我们在对象上调用"new"....
var post = function(){
var self = this;
self.div = $('<div></div>');
self.color = function(color){
this.div.css({background:color});
}
}
var p = new post();
p.color("#FFF");
Run Code Online (Sandbox Code Playgroud)
var post = function(){
self = this;
self.div = $('<div></div>');
}
var color = function(p, color){
p.div.css({background:color});
}
var p = new post();
color(p, "#FFF");
Run Code Online (Sandbox Code Playgroud)
因此,在第一个示例中,我相信每次调用新帖子时都会重新创建颜色函数.如果我有100个new post();电话怎么办?效率是否低于仅仅定义一次功能的示例2?
这是否有意义我在问什么?
我正在学习JavaScript的原型,这是我正在尝试的代码 -
<script>
function employee(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
var trialcoder = new employee('trialcoder', 26, 'M');
//employee.prototype.salary = null;
trialcoder.salary = 19000;
document.write("salary is "+ trialcoder.salary);
</script>
Run Code Online (Sandbox Code Playgroud)
我的想法 - 要添加另一个属性,我们需要使用prototype- employee.prototype.salary = null;所以在不评论这一行,我期待一个错误,但它不是..我知道我在错误的prototype概念.
代码来源 - http://www.w3schools.com/jsref/jsref_prototype_math.asp
我在原型之间感到困惑.我已经研究并观看了教程,但我仍未能得到明确的答案.很高兴,如果有人可以帮助我.如果使用一些简单的例子或解释很好.
Prototype是库吗?例如Jquery
如是.这意味着我们需要在使用它之前将其添加到我们的文件中.就像我们将Jquery添加到头部,然后我们可以访问它的所有功能.
因此我们需要在使用它之前学习它,因为原型是使用像Jquery这样的纯javascript构建的.
如果Prototype是一个库,那么我们如何在不添加文件的情况下访问它?
例如: - 当我们编写一些javascript代码时,我们会自动访问Prototype的内容,如下面的代码所示.
function Apple (type) {
this.type = type;
this.color = "red";
}
Run Code Online (Sandbox Code Playgroud)
Apple.prototype.getInfo = function(){return this.color +''+ this.type +'apple'; };
有人说Prototype实际上是一个Javascript.
如果这是正确的,那么我们如何在JSFiddle下面的列表中分离原型和jQuery.

或者上面的图像中的Prototype库是否与Javascript原型对象不同?
意味着这些是两件不同的事情.
能否请你澄清我的这4点.
谢谢.
我是在运行以下代码,
function Person(){}
var person1 = new Person();
Person.prototype= {
name : "Ann",
sayName : function(){
console.log( this.name);
}
}
person1.sayName();
Run Code Online (Sandbox Code Playgroud)
它会显示错误"对象#没有方法'sayName'".这会导致错误,因为person1指向的原型不包含该名称的属性.我的问题是当我改变我定义原型的方式如下:
function Person(){}
var person1 = new Person();
Person.prototype.name = "Ann";
Person.prototype.sayName = function(){
console.log(this.name);
}
person1.sayName();
Run Code Online (Sandbox Code Playgroud)
它与"安"正确运行.谁能告诉我为什么会这样?谢谢.
不知道为什么这个类的构造不起作用,也许我只是以错误的方式调用函数?这是我的代码:
function zeros(bits, pattern) {
this.bits = bits;
this.pattern = pattern;
};
zeros.prototype.short = function() {
return this.bits.match(this.pattern)[0].length;
};
heyJude = zeros('1100110011001100000011000000111111001100111111001111110000000000000011001111110011111100111111000000110011001111110000001111110011001100000011', /([0]).*?\1+/);
console.log(heyJude.short());
Run Code Online (Sandbox Code Playgroud)