我想知道cleanNum在以下代码中的含义。是函数名称还是其他名称?
//code snippet 1
var creditCard = {
cleanNum : function(number){
return number.replace(/[- ]/g,"");
}
};
Q1。我没有得到cleanNum的含义。您能解释一下cleanNum()的意义是什么。
Q2。如果我在另一个函数another_func()中使用它,该如何调用代码段1?
以下代码段与上面的代码段相同吗?
//code snippet 2
function cleanNum(number){
//sample code
}
最佳答案
首先,var x = {}
定义了一个新对象,在{}中声明的每个变量都成为该对象的字段。
下面将创建一个具有字段号的对象(由变量creditCard
引用)
var creditCard = {
number: '3432-2342-34243'
};
关于Q1,cleanNum的意义在于它是对象
creditCard
的成员。仅包含function
而不是包含int / string / date等。var creditCard = {
cleanNum : function(number){
return number.replace(/[- ]/g,"");
}
};
对于Q2,功能本身相同,只是范围不同。如果直接定义,则可以直接访问,如果在对象内部定义,则只能通过该对象访问:
creditCard.cleanNum(somenumber);
为了进一步说明该函数本身只是一个函数,可以在creditCard之外定义该函数,然后在对象内部重用该函数:
function cleanNumGlobal(number){
return number.replace(/[- ]/g,"");
}
var creditCard = {
cleanNum : cleanNumGlobal
};
//both call the same function:
console.log(cleanNumGlobal('2432-2423-234'));
console.log(creditCard.cleanNum('2432-2423-234'));
附带说明:通常,此类函数会使用对象本身的属性,因此,它会使用对象本身的属性
number
来代替参数编号(或在设置该属性时清除数字) 。但这不是问题的范围;)