js的一些规范

http://bitcoin-on-nodejs.ebookchain.org/5-%E9%99%84%E5%BD%95/2-Javascript%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83.html

1.数组

当你需要拷贝数组时,使用 Array#slice
var len = items.length;
var itemsCopy = [];
itemsCopy = items.slice();

2.函数

永远不要把参数命名为 arguments。这将取代函数作用域内的 arguments 对象。

3.条件表达式。

条件表达式例如 if 语句通过抽象方法 ToBoolean 强制计算它们的表达式并且总是遵守下面的规则:
(无需显式转换)
对象 被计算为 true
Undefined 被计算为 false
Null 被计算为 false
布尔值 被计算为 布尔的值
数字 如果是 +0、-0 或 NaN 被计算为 false,否则为 true
字符串 如果是空字符串 ‘’ 被计算为 false,否则为 true

ECMAScript中可用的3种强制类型转换如下:
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。
用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false

4.运算符
位操作运算符总是返回 32 位的整数(source)。位操作处理大于 32 位的整数值时还会导致意料之外的行为。
使用 parseInt 转换数字时总是带上类型转换的基数。
var inputValue = ‘4’;
var val = Number(inputValue);
var val = parseInt(inputValue, 10);

布尔:
var age = 0;
var hasAge = Boolean(age);
var hasAge = !!age;

5.命名规则
使用下划线 _ 开头命名私有属性
使用 _this 保存 this 的引用。

6.存取器
属性的存取函数不是必须的。
如果你需要存取函数时使用 getVal() 和 setVal(‘hello’)。
如果属性是布尔值,使用 isVal() 或 hasVal()。

创建 get() 和 set() 函数是可以的,但要保持一致。

function Jedi(options) {
options || (options = {});
var lightsaber = options.lightsaber || ‘blue’;
this.set(‘lightsaber’, lightsaber);
}

Jedi.prototype.set = function set(key, val) {
this[key] = val;
};

Jedi.prototype.get = function get(key) {
return this[key];
};

7.构造函数
给对象原型分配方法,而不是使用一个新对象覆盖原型。覆盖原型将导致继承出现问题:重设原型将覆盖原有原型!
方法可以返回 this 来实现方法链式使用。

8.数据处理
parseInt()最好不用

浮点数范围:
as large as ±1.7976931348623157 × 10的308次方
as small as ±5 × 10的−324次方

精确整数范围:
The JavaScript number format allows you to exactly represent all integers between
−9007199254740992 and 9007199254740992 (即正负2的53次方)

数组索引还有位操作:
正负2的31次方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值