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
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0
|
2天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
10 1
|
10天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
JavaScript
Vue.js学习详细课程系列--共32节(4 / 6)
Vue.js学习详细课程系列--共32节(4 / 6)
35 0
|
1月前
|
前端开发 搜索推荐 JavaScript
编程笔记 html5&css&js 001 学习编程从网页开始
编程笔记 html5&css&js 001 学习编程从网页开始
|
2月前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
2月前
|
前端开发 JavaScript
从零开始学习前端开发:HTML、CSS、JavaScript入门指南
【2月更文挑战第1天】本文将带领读者从零开始学习前端开发,介绍HTML、CSS和JavaScript的基础知识与应用,帮助读者快速入门前端开发领域。
64 1
|
2月前
|
数据采集 机器学习/深度学习 JavaScript
画【Python折线图】的一百个学习报告(二、pyecharts引入js文件)
画【Python折线图】的一百个学习报告(二、pyecharts引入js文件)
51 0