javascript对象(1)
今天说面向对象,嗯,不是那个对象,是这个对象。
接下来就开始今天的内容:
什么是面向对象:
就是把数据及数据的操作方法放在一起,作为一个相互依存的整体----对象。对同类对象抽象出其共性,形成类。
类中的大多数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。
名词解释:
基于对象:一切皆对象,以对象的概念来编程。
面向对象编程:
对象:就是人们要研究的事物,不仅能表示具体事物,还能表示抽象的规则,计划或事件。
属性的无序集合,每个属性可以存一个值(原始值,对象,函数)
对象的属性和行为:
属性:用数据值来描述他的状态
行为:用来改变对象行为的方法
类:
具有相同或相似的性质的对象的抽象就是类。对象的抽象,就是类。累的具体化就叫做对象。
说了面向对象,就说一下面向过程:
自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;
每一模块内部均是由顺序、选择和循环三种基本结构组成;
其模块化实现的具体方法就是使用程序。程序流程写在程序是就已决定。
说了这么多概念性的问题,还是有点模糊,下面来写相关对象的一届方法:
1、创建对象
(1)直接量
不如创建一个狗狗的对象,代码如下:
var dog = {
//添加name属性
name : "Td",
//添加叫的方法
say : function (){
document.write("汪汪汪");
}
}
(2)工厂模式
<script>
//用工厂模式,先要确定创建对象的属性和方法
//列如:创建摩拜单车,先要确定其属性和方法
//属性:名字 价钱 二维码 颜色 锁
//方法 : 跑
function createObj(name,price,code){
//创建对象
var obj = new Object();
obj.name = name;
obj.price = price;
obj.code = code;
obj.color = "yellow";
obj.run = function(){
alert(this.name+"开始出发");
}
//在对象里,要使用对象的属性或方法,要用this.属性或this.方法。 //返回对象
return obj;
}
//调用工厂函数
var a = createObj("摩拜单车1",1,101);
var b = createObj("摩拜单车2",1,102);
var c = createObj("摩拜单车3",1,103); a.run(); alert(a.name + "价钱" + a.price+"元");
</script>
(3)构造函数
<script>
//构造函数 (又名 初始函数):用来创建对象的 //develop:开发
//【注意】1、构造函数名 第一个字母 一定要 大写
// 2、构造函数没有返回值
//this : 表示当前, 指向的是自己本身 function Game(name,personCount,develop){
this.name = name;
this.personCount = personCount;
this.develop = develop;
this.play = function(){
alert("我是"+this.name+"游戏"+"我的玩家数量是:"+this.personCount);
}
} //构造函数不返回对象是因为 关键字new
//new 关键字创建对象并返回对象
var Lol = new Game("Lol","1000万","拳头");
Lol.play();
var Cf = new Game("cf","3亿","三星");
Cf.play();
//instanceof 判断一个对象他父亲是谁
alert(Lol instanceof Game);
//Lol instanceof Game true
//Lol instanceof Object true </script>
说一下构造函数和工厂模式的区别:
构造函数名首字母大写,与工厂模式区别开;
构造函数内部使用this关键字;
构造函数没有返回值,工厂模式需要返回值;
今天就这样,明天续更。。。。
javascript对象(1)的更多相关文章
- json与JavaScript对象互换
1,json字符串转化为JavaScript对象: 方法:JSON.parse(string) eg:var account = '{"name":"jaytan&quo ...
- javaScript对象-基本包装类型的详解
本人按书上的内容大致地把javaScript对象划分成“引用类型”.“基本包装类型”和“内置对象”三块内容. 我们这篇先了解下基本包装类型的详细用法吧! 一.我们先解下相关概念: 1.引用类型的值(对 ...
- 如何理解javaScript对象?
在我们生活中,常常会提到对象一词,如:你找到对象了吗?你的对象是谁呀?等等. 在我们家庭中,有男友的女青年都会说我有对象了,那么她的对象是XX(她的男友). 夫妻间呢?都会说我的爱人是谁谁谁,现在我们 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- 深入理解javascript对象系列第二篇——属性操作
× 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...
- Javascript对象的方法赋值
Javascript对象编程学习中,一直不能很好的掌握对象的属性(property)和方法(method).今天在写代码过程中,又犯了一个低级错误. <!DOCTYPE html> < ...
- web前端学习(二) javascript对象和原型继承
目录 1. JavaScrpt对象 2. 原型对象和继承 3. 对象的克隆 (1)javascript对象 在JS中,对象是属性的容器.对于单个对象来说,都由属性名和属性值构成:其中属性名需要是标识符 ...
- 如何判断Javascript对象是否存在
Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...
- JavaScript 对象、DOM对象、jquery对象的区别、转换详解
一.JavaScript 对象 JavaScript 提供多个内建对象,比如 String.Date.Array 等等. 对象只是带有属性和方法的特殊数据类型. 访问对象的属性: [javascrip ...
- 关于javascript对象的简单记忆法
关于javascript对象方法的简单记忆法(个人整理) string对象: 大号小号闪烁加链接./big/small/blink/link/ 粗体斜体打字删除线./bold/italics/fixe ...
随机推荐
- phpcms页面替换
首页的替换流程首先要先把静态网页做出来,拿到这里来: 会发现这个网页里面少了图片,样式表也没有了 因为我们只把网页扔过来,所对应的图片和样式表没有扔过来 图片什么的应该扔到: 接着打开index.ht ...
- TPshop分销功能的使用与表设计
首先来段科普,摘自百度百科: 在西方经济学中,分销 的含义是建立销售渠道的意思,根据著名的营销大师菲利普·科特勒的定义,分销渠道(Distribution Channel)又或者叫营销渠道(Marke ...
- 关于删除数组中重复元素的lintcode代码
时间自由度为o(n),空间自由度为o(1); class Solution {public: /** * @param A: a list of integers * @retu ...
- 从JVM角度看Java多态
首先,明确一下,Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 package test.xing; class Father{ prot ...
- 纯CSS图片缩放后显示详细信息
哎~!突然好久没更新博客了,最近总在下雨,晚上也经常没有时间来管理博客(目前在敲自己的一个平台,晢时还在写逻辑层的代码),好吧!废话不多说了,言归正传. 现在很多图片缩放的特效大多数都是用javasc ...
- .Net Core中使用ref和Span<T>提高程序性能
一.前言 其实说到ref,很多同学对它已经有所了解,ref是C# 7.0的一个语言特性,它为开发人员提供了返回本地变量引用和值引用的机制. Span也是建立在ref语法基础上的一个复杂的数据类型,在文 ...
- Java 脚本化编程指南
Java 脚本化编程指南 Java脚本化API为谁准备? 脚本语言的一些有用的特性是: 方便:大多数脚本语言都是动态类型的.您通常可以创建新的变量,而不声明变量类型,并且您可以重用变量来存储不同类型的 ...
- 在Excel上写程序(ExcelEx)
首先要说明的是:Ctrl+D,是执行框选的的扩展函数+号,一个单元格里多个函数用+号分隔*号,相当于链式操作(没法子,公式里不能写"."号) 虽还有很大的局限性,至少很多小程序和数 ...
- MYBATIS 简单整理与回顾
这两天简单整理了一下MyBatis 相关api和jar包这里提供一个下载地址,免得找了 链接:http://pan.baidu.com/s/1jIl1KaE 密码:d2yl A.简单搭建跑项目 2.进 ...
- vmvare虚拟机经验
关于网络连接:如果宿主机网络类型:如果是无线网络网络适配器选择桥接模式:如果是物理网线选择NAT模式: 关于刚装完系统apt-get update出现could not lock /var/lib/l ...