js函数创建

该博客围绕JS函数编写展开,介绍了五个版本的函数编写方式。第一版存在创建过多全局变量、影响其他功能的问题;后续版本逐步改进,如将变量保存到一个变量里、采用类的方式等。还提及了链式调用,包括调用方式的变化及原型对象的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js学习

#函数

第一版

function checkName(){}

function checkEmail(){}

或者

var checkName = function(){}
var checkEmail = function(){}

问题:这么编写函数创建了很多全局变量,(js中一切皆对象),会影响到别的别的功能,函数覆盖。

第二版

针对创建多个全局变量,简单结局方案是将这些变量保存到一个变量里面 减少覆盖风险

例如:

var CheckObject = {
	checkName : function(){},
	checkEmail:function(){},
	chencPassword:function(){}
}

或者(先声明对象 在给对象添加方法)
var CheckObject = function(){};
CheckObject .checkName = function(){};
CheckObject .checkEmail= function(){};
CheckObject .chencPassword= function(){};

这样全局对象变为一个。调用方式也简单 CheckObject.checkName();

第三版

前面那种方案,新创建的对象不能继承这些检查方法。没有this概念

var CheckObject = function(){
	return {
		checkName : function(){},
		checkEmail:function(){},
		chencPassword:function(){}
	}
}

第四版

采用类的方式

var CheckObject = function(){
		this.checkName = function(){}
		this.checkEmail = function(){}
		this.checkPassword = function(){}
}
然后使用new 关键字创建对象
var a = new CheckObject ();
a.checkName();

采用类创建对象,每个对象实例都有一套自己的方法。(其实这些方式只需要一份就行了)

第五版

通过this定义,每次new创建对象的时候,新创建的对象都会对类的this属性进行赋值。然而有些属性和方法没有必要为每个对象创建一遍。

var CheckObject = function(){};
CheckObject .prototype.checkName = function(){};
CheckObject .prototype.checkEmail= function(){};
CheckObject .prototype.chencPassword= function(){};

链式调用

var CheckObject = {
	checkName : function(){ return this},
	checkEmail:function(){return this},
	chencPassword:function(){return this}
}

调用方式有之前的

var a  = new CheckObject();
a.checkName();
a.checkEmail();
a.checkPassword();

变换为

CheckObject .checkName().checkEmail().checkPassword();

原型对象也可以操作

var CheckObject = function(){};
CheckObject .prototype = {
	checkName : function(){ 
		return this;
		},
	checkEmail:function(){
		return this;
		},
	checkPassword:function(){
	return this;
	}
}

使用方式变化为:

var a = new CheckObject();
a.checkName().checkEmail().checkPassword();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值