JavaScript--标准函数

Posted wsjyztx123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript--标准函数相关的知识,希望对你有一定的参考价值。

(1)不要使用new Number()new Boolean()new String()创建包装对象;

(2)用parseInt()parseFloat()来转换任意类型到number

(3)用String()来转换任意类型到string,或者直接调用某个对象的toString()方法;

(4)通常不必把任意类型转换为boolean再判断,因为可以直接写if (myVar) {...}

(5)typeof操作符可以判断出numberbooleanstringfunctionundefined

(6)判断Array要使用Array.isArray(arr)

(7)判断null请使用myVar === null

(8)判断某个全局变量是否存在用typeof window.myVar === ‘undefined‘

(9)函数内部判断某个变量是否存在用typeof myVar === ‘undefined‘

包装对象:

var n = new Number(123); // 123,生成了新的包装类型
var b = new Boolean(true); // true,生成了新的包装类型
var s = new String(‘str‘); // ‘str‘,生成了新的包装类型
typeof new Number(123); // ‘object‘
new Number(123) === 123; // false

typeof new Boolean(true); // ‘object‘
new Boolean(true) === true; // false

typeof new String(‘str‘); // ‘object‘
new String(‘str‘) === ‘str‘; // false

注意:nullundefined就没有toString()方法

123.toString(); // SyntaxError

解决办法:

123..toString(); // ‘123‘, 注意是两个点!
(123).toString(); // ‘123‘

 

Date

  javascript的Date对象月份值从0开始,牢记0=1月,1=2月,2=3月,……,11=12月。

var d = new Date(2015, 5, 19, 20, 15, 30, 123);
d; // Fri Jun 19 2015 20:15:30 GMT+0800 (CST)

  使用Date.parse()时传入的字符串使用实际月份01~12,转换为Date对象后getMonth()获取的月份值为0~11。

var d = Date.parse(‘2015-06-24T19:49:22.875+08:00‘);
d; // 1435146562875

但它返回的不是Date对象,而是一个时间戳

把时间戳转换为一个Date

var d = new Date(1435146562875);
d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
d.getMonth(); // 5

时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。假设浏览器所在电脑的时间是准确的,那么世界上无论哪个时区的电脑,它们此刻产生的时间戳数字都是一样的,所以,时间戳可以精确地表示一个时刻,并且与时区无关。

所以,我们只需要传递时间戳,或者把时间戳从数据库里读出来,再让JavaScript自动转换为当地时间就可以了。

 

获取当前时间戳:

‘use strict‘;

if (Date.now) {
    console.log(Date.now()); // 老版本IE没有now()方法
} else {
    console.log(new Date().getTime());
}

 

以上是关于JavaScript--标准函数的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

thymeleaf 片段渲染后重新加载 javascript

几个非常实用的JQuery代码片段

jQ选择器学习片段(JavaScript 部分对应)

几个关于js数组方法reduce的经典片段