js方法默认参数

本来以为js和Python特别像,那么Python的这种默认参数也可以

 

function createDom(type, attrN = "null", attrV = "null", attr2N = 'null', attr2V = 'null'){
	var self = document.createElement(type);
	if(attrN != "null") {
		self.setAttribute(attrN,attrV);
		if(attr2N != "null"){
			self.setAttribute(attr2N,attr2V);
		}
	}
	return self;
}

 这样写,chrome是可以运行的。但是ie不行。后来网上查了下,可以使用arguments实现

//方法1
function createDom(){
	
	var type = arguments[0] ? arguments[0] : 'null';
	var attrN = arguments[1] ? arguments[1] : 'null';
	var attrV = arguments[2] ? arguments[2] : 'null';
	var attr2N = arguments[3] ? arguments[3] : 'null';
	var attr2V = arguments[4] ? arguments[4] : 'null';
	var self = document.createElement(type);
	if(attrN != "null") {
		self.setAttribute(attrN,attrV);
		if(attr2N != "null"){
			self.setAttribute(attr2N,attr2V);
		}
	}

 也可以是这样

//方法2
function createDom(type, attrN , attrV, attr2N, attr2V){
	type = type ? type : 'null';
	attrN = attrN ? attrN : 'null';
	attrV = attrV ? attrV : 'null';
	attr2N = attr2N ? attr2N : 'null';
	attr2V = attr2V ? attr2V : 'null';
	var self = document.createElement(type);
	if(attrN != "null") {
		self.setAttribute(attrN,attrV);
		if(attr2N != "null"){
			self.setAttribute(attr2N,attr2V);
		}
	}
	return self;
}

 或者这样(推荐)

//方法3
function createDom(type, attrN , attrV, attr2N, attr2V){
	type = type || 'null';
	attrN = attrN || 'null';
	attrV = attrV || 'null';
	attr2N = attr2N || 'null';
	attr2V = attr2V || 'null';
	var self = document.createElement(type);
	if(attrN != "null") {
		self.setAttribute(attrN,attrV);
		if(attr2N != "null"){
			self.setAttribute(attr2N,attr2V);
		}
	}
	return self;
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值