js面向对象编程思想
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body> </body>
<script>
//实例对象
var per1={
name:"卡卡西",
age:20,
sex:"男",
eat:function(){
console.log("吃拉面");
},
readBook:function(){
console.log("西游记");
}
}
//调用系统的构造函数创建对象
var per2=new Object();
per2.name="大蛇丸";
per2.age=30;
per2.sex="男";
per2.eat=function(){
console.log("吃榴莲");
};
per2.play=function(){
console.log("玩蛇");
}
//自定义构造函数
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("天天打游戏");
};
} var per=new Person("小樱",18,"女");
console.log(per.name);
per.play(); //工程模式创建对象
function creatObject(name,age){
var obj=Object();
obj.name=name;
obj.age=age;
obj.syHi=function(){
console.log("你好");
};
return obj;
} //自定义构造函数和工程模式区别
/**
* 共同点:都是函数,都可以创建对象,都可以传入参数
* 工厂:
* 函数名是小写的
* 有new
* 有返回值
* new之后的对象是当前的对象
*直接调用函数就可以创建对象
*
* 自定义构造函数:
* 函数名是大写的首字母
* 没有new
* 没有返回值
* this是当前对象
* 通过new的方式创建对象
* **/ function Pers(name,age){
this.name=name;
this.age=age;
}
//通过原型来添加方法,解决数据共享,节省内存空间
Pers.prototype.eat=function(){
console.log("吃凉菜");
}
var p1=new Pers("小明",20);
var p2=new Pers("小红",30);
console.log(p1.eat==p2.eat);//结果为真
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
</body>
<script>
//实例对象
var per1={
name:"卡卡西",
age:20,
sex:"男",
eat:function(){
console.log("吃拉面");
},
readBook:function(){
console.log("西游记");
}
}
//调用系统的构造函数创建对象
var per2=new Object();
per2.name="大蛇丸";
per2.age=30;
per2.sex="男";
per2.eat=function(){
console.log("吃榴莲");
};
per2.play=function(){
console.log("玩蛇");
}
//自定义构造函数
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("天天打游戏");
};
}
var per=new Person("小樱",18,"女");
console.log(per.name);
per.play();
//工程模式创建对象
function creatObject(name,age){
var obj=Object();
obj.name=name;
obj.age=age;
obj.syHi=function(){
console.log("你好");
};
return obj;
}
//自定义构造函数和工程模式区别
/**
* 共同点:都是函数,都可以创建对象,都可以传入参数
* 工厂:
* 函数名是小写的
* 有new
* 有返回值
* new之后的对象是当前的对象
*直接调用函数就可以创建对象
*
* 自定义构造函数:
* 函数名是大写的首字母
* 没有new
* 没有返回值
* this是当前对象
* 通过new的方式创建对象
* **/
function Pers(name,age){
this.name=name;
this.age=age;
}
//通过原型来添加方法,解决数据共享,节省内存空间
Pers.prototype.eat=function(){
console.log("吃凉菜");
}
var p1=new Pers("小明",20);
var p2=new Pers("小红",30);
console.log(p1.eat==p2.eat);//结果为真
</script>
</html>
js面向对象编程思想的更多相关文章
- 面向对象编程思想(前传)--你必须知道的javascript
在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...
- 面向对象编程思想(前传)--你必须知道的javascript(转载)
原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录 什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- 面向对象编程思想(OOP)
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★
IT第二十天 上午 面向对象编程思想 1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PC ...
- Js面向对象编程
Js面向对象编程 1. 什么是面向对象编程? 我也不说不清楚什么是面向对象,反正就那么回事吧. 编程有时候是一件很快乐的事,写一些小游戏,用编程的方式玩游戏等等 2. Js如何定义一个 ...
- js原生设计模式——3简单工厂模式\js面向对象编程实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 拖拽系列二、利用JS面向对象OOP思想实现拖拽封装
接着上一篇拖拽系列一.JavaScript实现简单的拖拽效果这一篇博客将接着对上一节实现代码利用JS面向对象(OOP)思维对上一节代码进行封装; 使其模块化.避免全局函数污染.方便后期维护和调用:写到 ...
- JS面向对象编程(进阶理解)
JS 面向对象编程 如何创建JS对象 JSON语法声明对象(直接量声明对象) var obj = {}; 使用 Object 创建对象 var obj = new Object(); JS对象可以后期 ...
随机推荐
- ACM数论之旅16---母函数(又名生成函数)(痛并快乐着(╭ ̄3 ̄)╭)
(前排出售零食瓜子) 前言: 母函数是个很难的东西,难在数学 而ACM中所用的母函数只是母函数的基础 应该说除了不好理解外,其他都是非常简单的 母函数即生成函数,是组合数学中尤其是计数方面的一个重要理 ...
- js小功能记录
个人日常中遇到的js小功能记录,方便查看. /** * 判断是否包含字符串某字符串 * @param {[type]} str [被检测的字符串] * @param {[type]} substr [ ...
- springboot学习笔记-3 整合redis&mongodb
一.整合redis 1.1 建立实体类 @Entity @Table(name="user") public class User implements Serializable ...
- 在tensorflow环境下安装matplotlib
在运行程序时,报错ImportError: No module named 'matplotlib',如图.经网上查询发现是没有安装matplotlib 因此记录一下在tensorflow环境下安装m ...
- 《Linux内核设计与实现》学习总结 Chap3
第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限 ...
- Andorid APK反逆向
Andorid APK反逆向解决方案---梆梆加固原理探寻http://blog.csdn.net/androidsecurity/article/details/8892635 Android AP ...
- Android中View绘制优化
1.优化布局层次 http://www.2cto.com/kf/201209/154108.html 2.使用<include />标签复用布局文件 http://www.2cto.com ...
- 【agc001d】Arrays and Palindrome
Portal -->agc001D Description 给你一个\(m\)个数的排列\(A\),这个\(A\)中元素的顺序可以随便调换,\(A\)中的元素的和为\(n\),现在要你构造一个数 ...
- 【数学】【CF1091D】 New Year and the Permutation Concatenation
Description 给定一个数 \(n\),将所有 \(1~\sim~n\) 的排列按照字典序放到一个序列中,求有多少长度为 \(n\) 的子序列 \(p_i~p_{i+1}~\dots~p_{i ...
- python图片云
Python 小工具 把图片拼接成任意大小新图片 代码比较简单 看注释就好 # -*- coding:utf-8 -*- #图片拼接 import PIL.Image as Image import ...