javascript 语言技巧

1、使用===

它比较不会类型转换,速度要比==快

'1'===1 false

'1'==1 true

2、typeof 一元操作符,用于以字符串的形式返回变量的数据类型

typeof null  Array  Date  都返回object

这样在判断变量变形时会有问题,可用:

Object.prototype.toString.call(XX)来判断

3、instanceof 判断对象是否为指定类的实例 

[] instanceof Array

4、将一个数组元素追加到另一个数组。

Array.prototype.push.apply(a,b)  //b 的元素会添加到a内。

a.push(b) //这是把b数组添加到了a数组中而不是数组元素。

5、apply call 

都需传入调用的对象,

只是参数传递不同:

call 以Xx,XX,XX...

apply 参数以数组传递,相当于方法在使用时a,b,c 的传递是[a,b,c]。

4的追加数组元素正是用的这个机制。

6、将arguments转换成数组

arguments不是真正的数组,虽然可用下标访问.

Array.prototype.slice.call(arguments);

7、Object.prototype.toString.call(obj,arr)  返回 [object Array]

8、返回数组中最大值最小值

Math.max.apply(null,[])

Math.min.apply(null,[]);

9、splice 删除数组元素

[].splice(下标位置,删除长度) //会从指定的下标开始删除

10、通过length来截取数组

[].lenght=2;//会删除2位以后的所有元素

11、保留小数位

XX.toFixed(2)

12、for  in 遍历对象

for(var i in obj){

if(obj.hasOwnProperty(i)){

  //

}

}

13、typeof bug坑

typeof 判断对象、数组、null时都返回  object


14、var 声明变量的坑

var a=b=1;

这时的b是在全局上定义 的

15、Number.isInteger

判断参数是否是整数
16、Number.toPrecision()

方法可在对象的值超出指定位数时将其转换为指数计数法。

在对小的数字时会返回其字符串形式

17、js时间用法

有时需要设置固定的时间,

var d=new Date(2016,1,9,8,50,30)//设置某个时间

var d=new Date(Date.parse('2016/01/09 10:06:09'));

18、在函数内对参数名赋值:

函数内对传递过来参数赋值obj={}。

这时是在函数内创建一个obj的变量名,而不是对参数obj的修改。

外部obj还是原值,内obj有新的值。








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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值