变量、对象、函数、类
来源:互联网 发布:上古卷轴5故事知乎 编辑:程序博客网 时间:2024/04/28 08:57
1.函数的形式
function checkName(){ //定义一个函数}
var checkName=function(){//函数的另一种形式}
2.用对象收编变量
var CheckObject={ checkName:function(){ //验证姓名 }, checkEmail:function(){ //验证邮箱 }, checkPassword:function(){ //验证密码 }}//调用时使用点语法CheckObject.checkName();
//对象的另一种形式var CheckObject=function(){};CheckObject.checkName=function(){ //验证姓名}CheckObject.checkEmail=function(){ //验证邮箱}CheckObject.checkPassword=function(){ //验证密码}
//把所有方法放在一个函数对象中var CheckObject=function(){ return{ checkName:function(){ //验证姓名 }, checkEmail:function(){ //验证邮箱 } }}//每次调用这个函数时,都返回一个新对象var a=CheckObject();a.checkEmail();
3.因为创建的对象a和对象CheckObject没有任何关系,所以用类对其进行改造
var CheckObject=function(){ this.checkName=function(){ //验证姓名 } this.checkEmail=function(){ //验证邮箱 }}//使用new创建var a=new CheckObject();a.checkEmail();
特点:所有的方法放在函数内部了,通过this定义,每次通过new关键字创建新对象的时候,新创建的对象都会对类的this上的属性进行复制,因此新创建的对象都有自己的一套方法。
4.方法添加到原型上
var CheckObject=function(){};CheckObject.prototype.checkName=function(){ //验证姓名}CheckObject.prototype.checkEmail=function(){ //验证邮箱}
这次在创建对象实例的时候,创建的对象拥有的方法就是一个了。因为它们都依赖prototype原型一次寻找,而找到的方法都是同一个。
//一种简写方式var CheckObject=function(){};CheckObject.prototype={ checkName:function(){ }, checkEmail:function(){ }}
//使用方式var a=new CheckObject();a.checkName();a.checkEmail();
5.这样,调用几次方法,就要对a写几遍。可以在每个声明的末尾处将当前对象返回,this指向的就是当前对象,可以将其返回。
var CheckObject=function(){};CheckObject.prototype={ checkName:function(){ //验证姓名 return this; }, checkEmail:function(){ //验证邮箱 return this; }}
6.prototype.js是一款JavaScript框架,里面封装了很多方法,最大的特点是对源生的对象(Function,Array,Object等等)拓展,为每个函数添加一个检测邮箱的方法可以这么做
Function.prototype.checkEmail=function(){ //验证邮箱}
//使用函数的调用方式var f=function(){};f.checkEmail();
//使用类的形式var f=new Function();f.checkEmail();
这样会污染源生对象Function,别人的函数也会被你创建的函数所污染,造成不必要的开销,可以抽象出一个统一添加方法的功能
Function.prototype.addMethod=function(name,fn){ this[name]=fn;}//添加邮箱验证的方法var methods=function(){};或者var methods=new Function();//添加方法methods.addMethod('checkEmail',function(){});methods.checkEmail();
如果想链式添加,则通过this返回
Function.prototype.addMethod=function(name,fn){ this[name]=fn; return this;}var methods=function(){};methods.addMethod('checkName',function(){ //验证姓名 return this;}).addMethod('checkEmail',function(){ //验证邮箱 return this;})methods.checkName().checkEmail();
7.习惯类调用方式
Function.prototype.addMethod=function(name,fn){ this.prototype[name]=fn;}//添加方法var Methods=function(){};Methods.addMethod('checkName',function(){//验证姓名}).addMethod('checkEmail',function(){ //验证邮箱});
使用的时候,必须使用new关键字创建新的对象
var m=new Methods();m.checkEmail()
0 0
- 变量、对象、函数、类
- JavaScript对象、函数、变量
- 对象和变量,函数
- Python的构造函数和析构函数 对象的变量和类的变量不一样
- Java中定义类,对象,函数,变量的方法
- Java基础05:面向对象;类与对象;匿名对象;成员变量;局部变量;封装;构造函数
- 对象变量和类变量
- 局部变量、全局变量、对象变量、类变量
- 通过反射获取类对象的成员函数、成员变量(只获取成员函数)、构造函数
- Python,构造析构函数,文档字符串方法,类的变量与对象的变量
- 面向对象一(类、对象、变量、构造函数、构造代码块、this、static)
- 十二、对象的使用(一) static成员变量、static成员函数、类/对象大小计算
- java之面向对象编程1:类、对象、成员变量、成员函数
- ruby 类、对象、变量
- 静态变量 静态对象 静态函数
- 面向对象:封装,构造函数,静态变量
- PHP变量引用、函数引用、对象引用
- javascript的变量或对象输出函数
- SAPUI5 (12) - 对象显示组件
- 指针的各种应用(一)
- OC 创建枚举,创建单例,文本中划线(富文本)
- 欢迎使用CSDN-markdown编辑器
- 【maven之二】maven简单上手小例子
- 变量、对象、函数、类
- 2017年上半年目标
- Java 编写一个控制台版的"答答租车系统"
- tensorflow之过拟合
- Git使用教程
- 详解互补滤波四元数中向量叉积与陀螺仪角速度补偿问题(Mahony算法)
- 学习opencv记录(三)
- 326. Power of Three#1
- iphone 架构