js 常见问题
1、金额的新写法
var num = 123456; var options = { style: 'currency', currency: 'CNY' }; num.toLocaleString('zh-CN', options);
金额的新写法2、时间新写法
new Date().toLocaleString("zh-ch")
时间新写法3、判断值的类型
[[Class]]是一个内部属性,值为一个类型字符串,可以用来判断对象值的类型.
typeof是一个运算符,用来判断原始值的类型,还可以用来区分原始值和对象值.
instanceof是一个可以判断对象值类型的运算符.
Array.isArray()是一个函数,用来判断某个值是否是数组.
[[Class]]
[[Class]]是一个内部属性,它的值可能是下面字符串中的一个:
"Arguments", "Array", "Boolean", "Date", "Error", "Function", "JSON", "Math", "Number", "Object", "RegExp", "String"
在JavaScript代码中,唯一可以访问该属性的方法就是通过默认的toString()方法,通常是这样调用的:
Object.prototype.toString.call(value)
因此,下面的函数可以用来获取到任意值x的[[Class]]属性:
functiongetClass(x) {
varstr =Object.prototype.toString.call(x);
return/^\[object (.*)\]$/.exec(str)[1];//"[object Array]” =>Array
}
等同于
functiongetClass(x) {
returnObject.prototype.toString.call(param).slice(8, -1)
}
因此,下面的函数可以用来获取到任意值x的[[Class]]属性:
functiongetClass(x) {
varstr =Object.prototype.toString.call(x);
return/^\[object (.*)\]$/.exec(str)[1];
}
> getClass(null)
'Null'
4、WebSockethttps://www.zhihu.com/question/20215561
5、document fragment :加快 DOM 加载速度
http://www.cnblogs.com/springfield/archive/2010/06/27/1765589.html
6、grunthttp://yujiangshui.com/grunt-basic-tutorial/
7、joshinghttp://jinlong.github.io/2014/10/25/jshint-configuration/
8、vue 源码:http://teazean.com/2016/05/27/vue
9、window.devicePixelRatio:
1)http://www.zhangxinxu.com/wordpress/2012/08/window-devicepixelratio/
11、http://ju.outofmemory.cn/entry/225500
12、 web pack:https://github.com/chemdemo/chemdemo.github.io/issues/13
14、
(callback=>window.setTimeout(callback,1000/60));
letrequestAnimationFrame=
window.requestAnimationFrame||
window.mozRequestAnimationFrame||
window.webkitRequestAnimationFrame||
16、http://web.jobbole.com/84723/?plg_nld=1&plg_uin=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1
17、 如何获得信息
1) github为主,微博公众号,
18、cookie 增删改
/**
* 设置cookie
* @param {string} name 键名
* @param {string} value 键值
* @param {integer} days cookie周期
*/
function setCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}else{
var expires = "";
}
document.cookie = name+"="+value+expires+"; path=/; domain=.test.ele.me";
}
// 获取cookie
functiongetCookie(name) {
varnameEQ = name +"=";
varca = document.cookie.split(';');
for(vari=0;i < ca.length;i++) {
varc = ca[i];
while(c.charAt(0)==' ') c = c.substring(1,c.length);
if(c.indexOf(nameEQ) == 0)returnc.substring(nameEQ.length,c.length);
}
returnnull;
}
// 删除cookie
functiondeleteCookie(name) {
setCookie(name,"",-1);
}