/**
*原型:去改写对象下面公用的方法或者属性,让公用的方法或者属性在内存中存在一份(提高性能)
*/
// 改造2
function CreateName(name){
this.name = name;
this.showname = function(){
alert(this.name);
}
// return this 默认返回
}
var p1 = new CreateName("owl2");
var p2 = new CreateName("owl2");
alert(p1.showname); //function(){alert(this.name)}
alert(p1.showname == p2.showname); //false
//解释
var a = 5;
var b = a;
b += 3;
alert(b); //8
alert(a); //5 基本类型:赋值的时候只是值的复制
var a = [1,2,3];
var b = [1,2,3];
b.push(4);
alert(b); //[1,2,3,4]
alert(a); //[1,2,3,4]
// 对象类型:赋值不仅是值的复制,而且也是引用的传递
var a = [1,2,3];
var b = a;
var b = [1,2,3,4];
alert(a); //[1,2,3]
alert(b); //[1,2,3,4]
//基本类型比较:值相同就可以
var a = 5;
var b = 5;
alert(a == b); //true
//对象类型比较:值和引用都相同才行
var a = [1,2,3];
var b = [1,2,3];
alert(a == b); //false
<pre name="code" class="javascript">/**
*原型:去改写对象下面公用的方法或者属性,让公用的方法或者属性在内存中存在一份(提高性能)
*原型:可以看做css中的class
*普通方法:可以看做css中的style
*
* 原型:property:要写在构造函数的下面
*
*
*/
//特点一
// var arr = [];
// arr.number = 10;
// Array.prototype.number = 20;
// alert(arr.number); //10
//特点二
var arr1 = [1,2,3,4];
Array.prototype.sum = function(){
var result = 0;
for(var i=0;i<this.length;i++){
result += this[i];
}
return result;
}
alert( arr1.sum() );
function 构造函数(){
this.属性;
}
构造函数.原型.方法 = function(){}
var 对象1 = new构造函数();
对象1.方法();