冲刺 -js
冲刺 -js 是一个完整的开源 JavaScript sprintf 执行《公约》的情况 浏览器 财务报告和审定财务报表 节点.js。 。 。 .
注:截至v1.1.1,您可能需要一些旧环境的多填充. 见 支助 下节.
使用量
var sprintf = require('sprintf-js').sprintf,
vsprintf = require('sprintf-js').vsprintf
sprintf('%2$s %3$s a %1$s', 'cracker', 'Polly', 'wants')
vsprintf('The first 4 letters of the english alphabet are: %s, %s, %s and %s', ['a', 'b', 'c', 'd'])
安装
国家预防机制
npm install sprintf-js
鲍尔
bower install sprintf
API 密码
sprintf
返回格式化字符串 :
string sprintf(string format, mixed arg1?, mixed arg2?, ...)
vsprintf
与 sprintf 但是它需要一系列的论据,而不是一些可变的论据:
string vsprintf(string format, array arguments?)
格式规格
格式字符串中的占位符由 % 并随后按以下顺序列出其中一个或多个要素:
- 可选编号后加a
$标记选择用于该值的参数索引。 如果没有指定,会将参数与输入字符串中的占位符排列在同一顺序. - 可选
+显示在结果前加或减数字符号。 默认情况下,只有-符号用于负数上. - 一种可选的编目描述符,该描述用于编目的字符(如果指定的话). 可能值为
0或其他任何字符,在'(单引出. 默认值为 空间。 。 。 . - 可选
-标志,原因sprintf以左对齐这个占位符的结果。 默认是将结果对齐. - 一个可选的号码,说明结果应该有多少个字符. 如果返回的值比这个数字短,则结果会被加成. 当使用时
j(JSON) 类型描述符, 粘贴长度指定缩进所用的标签大小 . - 可选精度修饰剂,由
.(dot) 后面是数字, 表示浮动点数应该显示多少位数 。 当使用时g键入指定数字。 在字符串上使用时,会导致结果被截断. - 类型描述符可以是:
%——产生一字%字符b− 作为二进制数生成整数c− 以 ASCII 值为字符生成整数d或者说i− 以已签名的小数表示整数e使用科学标记生成浮标u− 以无符号小数生成整数f− 按原样产生浮标;见上文关于精确度的说明g− 按原样产生浮标;见上文关于精确度的说明o− 以八进制数表示整数s- 产生一个字符串t——产量true或者说falseT- 得出论证的类型1个v− 得出指定参数的原始值x− 以十六进制数( 小写) 得出整数X− 以十六进制数( 上) 得出整数j- 将 JavaScript 对象或阵列生成为 JSON 编码字符串
特征
参数交换
也可以交换参数。 也就是说,占位者的顺序不必与争论的顺序相匹配. 您可以简单地在格式字符串中注明占位符所指的参数:
sprintf('%2$s %3$s a %1$s', 'cracker', 'Polly', 'wants')
当然,你可以重复占位符,而不必增加参数的数量.
命名参数
格式字符串可能包含替换字段而不是位置占位符. 现在可以指某物体内的某一个密钥,而不是指某一个参数. 替换字段被圆括号所包围 - ( 财务报告和审定财务报表 ) - 然后从一个关键字开始,该关键字指的是一个密钥:
var user = {
name: 'Dolly',
}
sprintf('Hello %(name)s', user) // Hello Dolly
替换字段中的关键字可选择后面插入任何关键字或索引:
var users = [
{name: 'Dolly'},
{name: 'Molly'},
{name: 'Polly'},
]
sprintf('Hello %(users[0].name)s, %(users[1].name)s and %(users[2].name)s', {users: users}) // Hello Dolly, Molly and Polly
注:不支持(尚未)混合位置和命名占位符
计算值
您可以在一个函数中作为动态值传递, 它会被引用( 没有参数) 以计算在苍蝇上的值 .
sprintf('Current date and time: %s', function() { return new Date().toString() })
角 JS 语言
你用得着 sprintf 财务报告和审定财务报表 vsprintf (又作: fmt 财务报告和审定财务报表 vfmt 在您的 AngularJS 项目中。 见 demo/。 。 。 .
支助
节点.js
sprintf-js 运行在所有活动节点版本(4.x+).
浏览器
sprintf-js 应当在所有现代浏览器中工作。 从v1.1.1起,您可能需要下列多填充:
String.prototype.repeat()(任何IE) (英语)Array.isArray()(环境倡议 < 9)Object.create()(环境倡议 < 9)
也门
许可证
冲刺 -js 根据BSD 3-Clause许可证的规定获得许可证.
页:1
1个 sprintf 不使用 typeof 操作员。 因此,价值 null 是一个 null,一个数组是 array (无) object),日期值为 date 包括:.