js中所有事物都是对象,例如:日期,字符串,数字,数组,布尔,函数等。

对象都有属性和方法(比如车就就是一个对象,车有颜色、价格、重量等属性)。

1.访问对象属性和方法

访问对象:objectName.propertyName  访问方法:objectName.mathodName()

2.对象作用域:关键字this的使用(重要)

this总是指向调用该方法的对象,

使用this可以在多个地方重用一个函数

例如:

var oCar=new Object;
oCar.color="red";
oCar.myColor=myColor;var oCar1=new Object;
oCar1.color="yellow";
oCar1.myColor=myColor;function myColor()
{alert(this.color);
}oCar.myColor();
oCar1.myColor();

/*其中this是指oCar这个对象*/

3、定义类和对象

工厂方式:

function createCar(){var car = new Object;car.color="blue";car.name="bm";car.door=4;car.showColor=function(){alert(this.color);};return car;
}
var car1 = createCar();/*创建了一个新的car1*/
var car2 = createCar();/*创建了一个新的car2*,并且car1和car2的属性完全一样/
car1.showColor();
car2.showColor();

4、传递函数值(传递参数)

   function createCar(pColor,pName,pDoor){var car=new Object;car.color=pColor;car.name=pName;car.door=pDoor;car.showColor=function(){alert(this.color);}return car;
}var car1=createCar("blue","bm",4);var car2=createCar("yellow","db",45);car1.showColor();car2.showColor();
5、混合构造函数与原型方式
function Car(pColor,pName,pDoor)
{this.color=pColor;this.name=pName;this.door=pDoor;this.drivers=new Array("Make","John");}Car.prototype.showColor=function(){alert(this.color);};var Car1=new Car("blue","bm",4);var Car2=new Car("red","db",4);Car1.drivers.push("Take");//给driver数组增加Take值alert(Car1.drivers);alert(Car2.drivers);

6、动态原型方法

function Car(pColor,pName,pDoor){this.color=pColor;this.name=pName;this.door=pDoor;this.drivers=new Array("Bill","Mike");}
if(typeof Car._initialized=="undefined") {Car.prototype.showColor=function(){alert(this.color);};Car._initialized=true;
}
var Car1=new Car("blue","bm",4);
var Car2=new Car("red","db",3);
alert(Car1.drivers);
alert(Car2.drivers);

js对象是什么?如何理解js对象相关推荐

  1. js 添加属性_轻松理解JS中的面向对象,顺便搞懂prototype和__proto__

    这篇文章主要讲一下JS中面向对象以及 __proto__,ptototype和construcator,这几个概念都是相关的,所以一起讲了. 在讲这个之前我们先来说说类,了解面向对象的朋友应该都知道, ...

  2. JS原型理解——JS中的原型对象

    JavaScript中的原型对象 下一篇:JS原型理解--JS继承的实现方式 原型 原型是JavaScript中继承的基础,JavaScript的继承就是基于原型的继承. 一 理解原型 1.1 函数的 ...

  3. 理解js的prototype原型对象

    我们创建的每一个函数都有一个prototype(原型)属性.这个属性是一个指针,指向一个对象,而这个对象的用途是包括能够由特定类型的全部实例共享的属性和方法.假设依照字面意思来理解,那么prototy ...

  4. 【学习笔记】深入理解js原型和闭包(5)——instanceof

    又介绍一个老朋友--instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...

  5. 理解JS的6种继承方式

    [转]重新理解JS的6种继承方式 写在前面 一直不喜欢JS的OOP,在学习阶段好像也用不到,总觉得JS的OOP不伦不类的,可能是因为先接触了Java,所以对JS的OO部分有些抵触. 偏见归偏见,既然面 ...

  6. 深入理解Js中的this

    深入理解Js中的this JavaScript作用域为静态作用域static scope,但是在Js中的this却是一个例外,this的指向问题就类似于动态作用域,其并不关心函数和作用域是如何声明以及 ...

  7. 理解js中的面向对象

    目录 前言: 一点疑问: 1.封装 2.继承 原型链的查找机制 不容易理解的点: ----重点在最后---- 前言: js是一门面向对象的语言,但是又没有类的概念,虽然后来加入了class,但也就是个 ...

  8. 彻底理解js中this

    相关博文:http://blog.csdn.net/libin_1/article/details/49996815 彻底理解js中this的指向,不必硬背. 首先必须要说的是,this的指向在函数定 ...

  9. 详细理解JS中的继承

    正式说继承之前,有两个相关小点: JS只支持实现继承,即继承实际的方法,不支持接口继承(即继承方法的签名,但JS中函数没签名) 所有对象都继承了Object.prototype上的属性和方法. 说继承 ...

  10. 深入理解js的执行机制

    写在前面 javascript在浏览器中被浏览器的js引擎执行解释,从执行上下文的角度分析一下js的执行机制 执行上下文 执行上下文被定义成javascript引擎在处理理解js代码时,所创建的一个动 ...

最新文章

  1. 依赖注入之Autofac使用总结
  2. 【Java设计模式】工厂模式
  3. 快速验证业务决策,“玩转”用户增长
  4. 训练日志 2019.1.16
  5. Think in Java第四版 读书笔记7第13章 字符串
  6. jQuery使用示例详解
  7. 浪潮服务器硬盘阵列怎么做,server - 浪潮服务器RAID阵列配置及OS安装
  8. 不同语言Sql Server的库交换出现乱码
  9. 十、JAVA抽象类的定义使用
  10. 重启tomcat服务器步骤
  11. (软件测试)代码覆盖(语句覆盖,分支覆盖,条件覆盖,条件组合覆盖,路径覆盖)
  12. 摄影基础知识——光学变焦和数码变焦
  13. android怎么监听多点触摸_android 手势监听和多点触摸 笔记
  14. 三代测序组装软件-----La Jolla Assembler软件运行
  15. ssh远程访问控制(一)
  16. 微信网页Audio自动播放(IOS安卓)
  17. 用无线网卡做wifi热点共享网络的方法
  18. 【分页存储管理】将十六进制的虚拟地址0A5C、103C、4251转换成物理地址
  19. mac安装brew(国内)
  20. 苏州项目申报公司告诉你软件著作权你不知道的还很多

热门文章

  1. Cloudera和Hortonworks宣布合并:对Hadoop的一记重创!
  2. Automatic fall detection of human in video using combination of features译文
  3. 分页存储概念清晰梳理(页面、页表、页表项、页面大小、页内地址等概念)
  4. 你知道 kubectl exec 的运行机制是什么吗?
  5. java画球_我的世界 如何用指令画球 JAVA 1.13+
  6. 内网服务器安装docker
  7. postman使用put方法向华为云obs桶上传文件和图片
  8. 让你少走弯路 建站新手必看的十大忠告
  9. 红细胞膜载IR780纳米粒(IR780@RBC MNPs)|红细胞囊泡修饰聚乙烯亚胺载体
  10. 二进制推广者电子计算机,31-戏说计算机与二进制那点事儿