这在Javascript字符中是什么?{3:';-';,6:';-';},tmp=";;
我试图弄清楚以下代码行在Javascript中的作用:这在Javascript字符中是什么?{3:';-';,6:';-';},tmp=";;,javascript,Javascript,我试图弄清楚以下代码行在Javascript中的作用: char = {3:'-',6:'-'}, tmp=''; 我不认识这种语法。它来自这段代码: // obj.value = '?V6I0S7I5*5O5S1F2C[]3U4!'; function exampleFunction(obj) { var val = obj.value.replace(/\D/g, ''), char = {3:'-',6:'-'}, tmp=''; for (var
char = {3:'-',6:'-'}, tmp='';
我不认识这种语法。它来自这段代码:
// obj.value = '?V6I0S7I5*5O5S1F2C[]3U4!';
function exampleFunction(obj) {
var val = obj.value.replace(/\D/g, ''),
char = {3:'-',6:'-'}, tmp='';
for (var i = 0; i < val.length; i++) {
tmp += (char[i]||'') + val[i];
}
obj.value=tmp;
}
//obj.value='?V6I0S7I5*5O5S1F2C[]3U4!';
函数示例函数(obj){
var val=obj.value.replace(/\D/g',),
char={3:'-',6:'-'},tmp='';
对于(var i=0;i
我正在试图弄清楚这段代码的作用以及obj的值是什么。这段代码声明了两个局部变量并给它们赋值 逗号前的代码声明一个名为
char
的变量,并为其分配一个具有两个属性的对象文字。逗号后的代码声明一个名为tmp
的变量,并为其分配一个空字符串
你应该读这篇文章;这将很有帮助:这是一种不用再次声明
var
即可编写变量的简捷方法
function exampleFunction(obj) {
var val = obj.value.replace(/\D/g, ''),
char = {3:'-',6:'-'}, tmp='';
for (var i = 0; i < val.length; i++) {
tmp += (char[i]||'') + val[i];
}
obj.value=tmp;
}
基本上,您使用正则表达式元字符\D
查找所有出现的非数字字符,并将其替换为'
char
对象可以是电话号码中的短划线占位符<代码>例123-123-1234
破折号位于电话号码字符串中的位置3和4
和6和7
之间
var char = {
3: '-',
6: '-',
}
var tmp = '';
for (var i = 0; i < val.length; i++) {
tmp += (char[i] || '') + val[i];
}
obj.value = tmp;
基本上,您正在解析给定的obj.value
,删除所有非数字并从中生成电话号码
所以,obj.value=?V6I0S7I5*5O5S1F2C[]3U4代码>在开头和结尾处
obj.value=607-555-1234
在本程序末尾。基本上是对象
char = {
3: '-',
6: '-'
}
用于获取索引并返回属性exists的值,否则返回一个空字符串以添加到字符串中
tmp += char[i] || '';
结果是一个带破折号的字符串,用于索引3和索引6。它只是char
的一个对象文本,而tmp
的一个空字符串将是obj的值。
输入的数字,在第3位和第6位后面加上连字符。。。所以607-555-1234-我相信这是纽约州的好莱坞电话号码-如果你现在打这个号码,你不会相信接下来会发生什么汉克斯。。。如何从原始字符串中剥离数字?我猜这些字符/\D/g是replace函数的参数?我知道/g是为了让它在全球范围内查找所有事件。但是另一个做什么呢?我以为它正在寻找那些字符来替换为“”。还有这个奇怪的char代码,这是否意味着char literal对象只有索引3和索引6?如果是这样的话,在循环时不会产生错误,并且i的值不是char中的索引吗?只需通过谷歌正则表达式教程查找/\D/g
的值,感谢您的回复…我在第一次回复的评论中询问了更多关于这一点的信息…感谢您的回复…我在对的评论中询问了更多关于这一点的信息第一个回复…感谢您的回复…我在对第一个回复的评论中进一步询问了这一点。。。。
// obj.value = '?V6I0S7I5*5O5S1F2C[]3U4!';
function exampleFunction(obj) {
var val = obj.value.replace(/\D/g, ''), // obj.value = 6075551234
char = {3:'-',6:'-'}, tmp='';
for (var i = 0; i < val.length; i++) {
tmp += (char[i]||'') + val[i];
// Iterations:
// 0. tmp = "6";
// 1. tmp = "60";
// 2. tmp = "607";
// 3. tmp = "607-5"; <- char[i] exists, so add a '-' + val[i];
// 4. tmp = "607-55";
// 5. tmp = "607-555";
// 6. tmp = "607-555-1"; <- char[i] exists, so add a '-' + val[i];
// 7. tmp = "607-555-12";
// 8. tmp = "607-555-123";
// 9. tmp = "607-555-1234";
}
obj.value=tmp;
}
char = {
3: '-',
6: '-'
}
tmp += char[i] || '';