javascript学习笔记1

简介: /**  * 利用Object对象工厂创建javascript对象  我们还可以使用函数创建  * @param r  * @param g  * @param b  * @returns {___obj0}  */ function  getColorObject(r,g,b){   var obj=new Object() ;  obj.

/**
 * 利用Object对象工厂创建javascript对象  我们还可以使用函数创建
 * @param r
 * @param g
 * @param b
 * @returns {___obj0}
 */
function  getColorObject(r,g,b){ 
 var obj=new Object() ;
 obj._R_=r ;
 obj._G_=g ;
 obj._B_= b ; //用下划线只是程序员之间的私有约定   
 obj.showColor=function(){
  document.write("Color:#"+r.toString(16)+g.toString(16)+b.toString(16)) ;
 }  ;
 return  obj ;
}
//这个和 工厂类似
var obj=getColorObject(255, 255, 255) ;  
obj.showColor() ;
/**
 * 利用函数实现对象因为 函数式Function对象 所以函数引用也有属性和方法  
 * javascript无静态方法 ...构造方法可以调用
 * 利用function声明函数就是创建对象的过程 
 * 垃圾回收期机制和java类似 
 * 利用Object工厂和 function方式 完全一样 /// 利用原型模型要将 所有的.属性方法 加载到prototype 中去..引用的时候直接引用
 */

//在原型模型中 所有对象依赖于 ... 共享
//我们可以看到...这类似.java中的内部类 ...在内部属性内部的方法我们不可以使用this调用外部的数据,因为 它是内部属性..弱类型对象
//所以我们应该使用外部对象的名字来调用内部对象....已经解决了共享问题    原型方式创建的对象数据一致
function Car() {
}
Car.prototype.color = "blue";
Car.prototype.doors = 4;
Car.prototype.mpg = 25;
Car.prototype.showColor = function() {
  alert(this.color);
};

var oCar1 = new Car();
var oCar2 = new Car();
//oCar1.showColor() ;
//oCar2.showColor() ;

document.write(oCar1==oCar2 ) ; //不是一个对象但是 数据内容一致  
document.write(oCar1.color==oCar2.color) ; //其实我们发现在 prototype原型中的所有元素 都一份共享内存。。他们的指针都相等. 只是外部的封装不同而已
                                           //为了防止这个问题 ..我们可以使用带参数构造方法加上原型模式来完成..因为这样会为每个对象分配不同的实例
//document.write(typeof obj) ;  //显示类型
//if(obj instanceof Object) {alert("object is  the  instance of Object");}  //一个对象时一个对象shili
 


//动态增加在于对未实例化的对戏那个进行进行 prototype增加
Array.prototype.show=function(){ //没有prototype就不能动态增加
       for(var i=0;i<this.length;i++){
         document.write("i="+this[i]+"<br>");
       }
    
}  ;
var xxx=new Array(1,2,4,4,5,5) ;
xxx.show() ;

 

 

 

目录
相关文章
|
2天前
|
缓存 JavaScript 前端开发
JavaScript:get和post的区别,2024年最新3-6岁儿童学习与发展指南心得体会
JavaScript:get和post的区别,2024年最新3-6岁儿童学习与发展指南心得体会
|
3天前
|
设计模式 存储 前端开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
|
4天前
|
XML Web App开发 前端开发
字节FE:JavaScript学习路线图
字节FE:JavaScript学习路线图
10 0
|
4天前
|
存储 移动开发 JavaScript
学习javascript,前端知识精讲,助力你轻松掌握
学习javascript,前端知识精讲,助力你轻松掌握
|
4天前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
19 0
webgl学习笔记3_javascript的HTML DOM
|
4天前
|
JavaScript 前端开发 Java
webgl学习笔记2_javascript基础快速学习
webgl学习笔记2_javascript基础快速学习
19 0
|
4天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
15 1
|
4天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
4天前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
4天前
|
JavaScript
Vue.js学习详细课程系列--共32节(6 / 6)
Vue.js学习详细课程系列--共32节(6 / 6)
28 0