javascritp第十课:面向对象
js中的函数就是对象,对象就是函数,当js中需要使用面向对象,使用js闭包模拟面向对象,当函数作为对象使用时,每个单词首字母都大写
var obj=new object(); //js中默认就是object函数,因此,这里不需要自定一个函数,即可new成一个对象
obj.name="张三"; //不需要object()方法中有属性,这里也可以直接创建变量和赋值
var per=new person(); //这里如果直接new一个对象就会出错,提示person未定义,因为js中没有此函数,因此需要先创建一个person函数 function person(){};
per.name="人员"; //直接使用对象"点"出属性,并且直接赋值,
或者可以用下面这种方式
function person(name,age) { //传入两个参数
this.name = '张三'; //给参数赋值
this.age = 20; //给参数赋值
}
var per = new person(); //实例化对象
var m = per.name; //赋值给变量m
var a = per.age; //赋值给变量a
alert('名字是' + m + "年龄是" + a); //使用变量
闭包实现面向对象
function person(name, age) { //传入变量值
this.Name = name; //赋值
this.Age = age;
this.sayhello = function () { //创建一个匿名函数,赋值给当前函数一个值
alert('我的名字叫'+this.Name+'我的年龄'+this.Age); //使用变量
}
}
var per = new person('周杰伦', 18); //创建对象,传入参数
per.sayhello();//使用对象,调用对象中的方法
最新文章
- git克隆项目到本地&;&;全局安装依赖项目&;&;安装依赖包&;&;启动服务
- 破解Java to C# Converter
- 获取真实Ip地址
- SVN版本控制系统
- 中间件(middlebox)
- Leetcode 367. Valid Perfect Square
- JS瀑布流布局模式(2)
- iOS 画图讲解2
- 五分钟solr4.5教程(搭建、运行)
- Demo学习: FileUpload
- 【读书笔记】《未来闪影》罗伯特·J·索耶
- STL笔记之set
- 【论文:麦克风阵列增强】Signal Enhancement Using Beamforming and Nonstationarity with Applications to Speech
- linux(centos)下mysql忘记root密码
- (汇总)os模块以及shutil模块对文件的操作
- lwIP 2.0.3 移植笔记(基于 STM32 + μC/OS-II)
- zookeeper配置文件共享中心
- JXOI2018简要题解
- Java NIO 机制分析(一) Java IO的演进
- Android通知栏沉浸式/透明化完整解决方案