javascript 方法实现千位分隔符以及代码解释
来源:互联网 发布:matlab 类似ga算法的 编辑:程序博客网 时间:2024/04/30 23:59
做题目遇到这个问题,对于其中正则实现的方法,对于疑惑点进行了注释,共三点。
1.为什么使用toString
2. strObj.indexOf()=-1代表什么
3.stringObj.replace(regExp,function($0,$1))的$0$1是什么?
4.return num&&()是什么?
5.正则表达式中的?=
一个源码:js正则式实现千位分隔符
function ce(num) { return num && (num .toString().indexOf('.') != -1 ? num.toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {return $1 + ",";}) : num.toString().replace(/(\d)(?=(\d{3}))/g, function($0, $1) {return $1 + ",";}));}console.log(ce(1353400.23));
1.为什么使用toString
replace() index()方法是对字符串对象进行操作
2. strObj.indexOf()=-1
代表strObj找不到str
3.stringObj.replace(regExp,function($0,$1))的$0$1是什么?
①stringObj.replace(regExp,function($0,$1))此处的$0 $1与strObj.replace(regExp,$0,$1)不同.
②strObj.replace(regExp,$1)直接以字符串代替符合regExp的字符串,$1-$99 代表符合第n个子表达式的字符串,以左括号作为区分,第一个左括号以内的为$1。
③stringObj.replace(regExp,function()) function中含四个参数,可以写作任意的符号,此时$0 $1只表示参数的位置,具体用法为:(参考链接:replace(regExp,function)用法/示例 replace(regExp,function)用法/示例)
function(A,B,C,D)A 匹配完整模式的字符串 B 从完整模式的字符串中匹配子模式的字符串 C 完整模式时的字符位置,从零开始 D 被搜索的字符串本身
例子:
name = 'aaa bbb ccc abc'; uw=name.replace(/\b\w+\b( ab)/g, function($0,$1,$2,$3){ console.log('|'+$0+'|'+$1+'|'+$2+','+$3); } );
将会显示下面的结果
|ccc ab| ab|8,aaa bbb ccc abc
4.return num&&()是什么?
参考链接:逻辑与逻辑或的短路原理
逻辑或短路原理
(1) 只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
(2) 只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
逻辑与短路原理
(1) 只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
(2) 只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
示例一:这里顺便提下:经常有人问我,看到很多代码if(!!attr),为什么不直接写if(attr);其实这是一种更严谨的写法:
请测试 typeof 5和typeof !!5的区别。
!!的作用是把一个其他类型的变量转成的bool类型。
示例二: callback&&callback()
在回调中,经常这么写,更严谨,先判断 callback 是不是存在,如果存在就执行,这样写的目的是为了防止报错。
如果直接写 callback(); 当callback不存在时代码就会报错。
5.正则表达式中的?=
此代码中,含义为可以匹配?=之后的模式但只返回?=之前的内容。
是断言的一种,具体的断言参考链接:正则表达式分组、断言详解
- javascript 方法实现千位分隔符以及代码解释
- javascript 方法实现千位分隔符(面试题)
- JavaScript实现千位分隔
- javascript千位分隔
- js 添加千位分隔符代码
- js实现千位分隔符
- 千位分隔符的ts实现
- js实现千位分隔符 保留两位小数
- JavaScript 给金额添加千位分隔符,号
- Android千位分隔符
- JSP 千位分隔符
- jq 千位分隔符
- 在数值中加入千位分隔符的方法
- 格式化数字的方法,千分隔以及保留两位小数
- Sql Server 千位分隔符 3位逗号分隔
- Sql Server 千位分隔符
- 千位逗号分隔符转换处理
- JS TextBox 实时 千位分隔符
- 删除git branch -a 中不存在的远程分支
- MFC对话框Style说明
- win8 x64 4核8G内存 搭建本地hadoop2.6.4集群
- codeblock搭建opencv开发环境
- Django ImportError: No module named compressor
- javascript 方法实现千位分隔符以及代码解释
- 用python实现多只猴子分桃问题
- Ajax上传文件/List至MVC的controller
- ScheduledExecutorService的两种方法
- 16.linux内核链表的实现
- 关于手机jsp页面的左右滚动的问题
- urlRewrite实现网站伪装
- iis,tomcat,apache之间的区别
- 正则表达式