
众所周知JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串。
假如生成一个是一共是4位的有前置0的数据,通常我们能想到的方法是这样子的:
这种方式的思路比较简单,根据当前数据的位数来补充相应个数的前置0;不过这样的算法写起来比较麻烦,如果需要的前置0非常多的话,那么得写很多的if...else。
还是基于这种思路,我们可以先算出这个数字有多少位,然后直接补上相应的0就行了:
这种方式的实现,是根据当前num的位数,来计算出所有的前置0,然后再拼接上num。
在这个基础上,我们还可以这样考虑:比如需要一共是10位的有前置0的数据,那么首先不管当前数字是多少位的,都先补上9个前置0,然后再截取这个字符串最后的10位,那么获取到的就是需要的数据:
总结
以上就是这篇文章的全部内容了,实现想要的结果很多的方法,我们应该尽可能的想出更多的方法,一方面能够拓展我们的思维,另一方面也能让我们选择出更好的方式。希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。js两个数组合并
你不知道的 javascript【推荐】
[9038]
一、对象
JavaScript简单类型有数字、字符串、布尔值、null、undefined,其他所有的值都是对象(数组、函数、正则表达式都是对象)。
数字、字符串、布尔值虽然拥有方法(包装对象),但并不是对象。
包装对象:
每当读取一个基本类型值的时候,后台会创建一个对象的基本包装类型的对象,从而能够调用一些方法来操作这些数据。
后台自动完成下列处理:
创建String类型的一个实例
在实例上调用指定的方法
销毁这个实例
所以上面代码等同于:
对象字面量
检索
更新
通过赋值语句更新,如果属性名已经存在于对象中,则被替换;如果对象中没有那个属性名,则添加。
stooge['first-name'] = 'Jerome'
引用
对象赋值通过引用来传递,它们永远不会被拷贝。
这里牵扯出 JavaScript 深拷贝和浅拷贝的问题
上例是浅拷贝使用Object.create可以进行深拷贝
自定义方法深拷贝见下:
此时 var b = deepCopy(a) 得到的 b 就和 a 没有引用关系,即修改 b 不会影响 a了
原型
每个对象都连接到一个原型对象,并且从中继承属性。所有通过对象字面量创建的对象都连接到 Object.prototype 这个JavaScript中标准的对象。
创建一个对象时,可以选择某个对象作为它的原型:
反射
使用 hasOwnProperty 检查属性是否是对象独有的,它并不会检查原型链。
flight.hasOwnProperty('number'); //true
枚举
for in 可以遍历对象中所有的属性名(见深拷贝部分)
删除
delete 可以删除对象属性,不会触及原型链中的任何对象
减少全局变量污染
最小化使用全局变量的一个方法是创建唯一一个全局变量:
减少全局变量污染另一个办法是使用闭包进行信息隐藏
二、函数
函数包含一组语句,是Javascript的基础模块单元,用于代码复用、信息隐藏和组合调用。
一般来说,所谓编程就是将一组需求分解成一组函数与数据结构的技能。
函数对象
函数就是对象,对象是键值对的集合并且拥有一个连到原型对象的隐藏连接。对象字面量产生的对象连接到 Object.prototype ,函数对象连接到 Function.prototype (该原型对象本身又连接到 Object.prototype)。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-86464-1.html
中日竞争不在于武器