js 常见问题

2016-10-12  本文已影响0人  olifer

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/

2)http://www.html-js.com/article/Mobile-terminal-H5-mobile-terminal-HD-multi-screen-adaptation-scheme%203041

10、CSSOM视图模式:http://www.zhangxinxu.com/wordpress/2011/09/cssom%E8%A7%86%E5%9B%BE%E6%A8%A1%E5%BC%8Fcssom-view-module%E7%9B%B8%E5%85%B3%E6%95%B4%E7%90%86%E4%B8%8E%E4%BB%8B%E7%BB%8D/

11、http://ju.outofmemory.cn/entry/225500

12、 web pack:https://github.com/chemdemo/chemdemo.github.io/issues/13

13、动画兼容:http://www.zhangxinxu.com/wordpress/2013/09/css3-animation-requestanimationframe-tween-%E5%8A%A8%E7%94%BB%E7%AE%97%E6%B3%95/

14、

(callback=>window.setTimeout(callback,1000/60));

letrequestAnimationFrame=

window.requestAnimationFrame||

window.mozRequestAnimationFrame||

window.webkitRequestAnimationFrame||

15、http://www.cnblogs.com/zichi/p/4359786.htmlplg_nld=1&plg_uin=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1

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);

}

上一篇下一篇

猜你喜欢

热点阅读