以下是今天学习到的一些js语法,特整理出来。

1、  (10)["toString"]() === "10" // true

2、如何优雅的取整

 var a = ~~2.33
var b = 2.33 | 0
var c = 2.33 >> 0
// a = 2
// b = 2
// c = 2

3、如何优雅的实现金钱格式化

正则表达式

 var test1  = '1234567890'
var format = test1.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
console.log(format) // 1,234,567,890

非正则实现

 function formatCash( str ) {
return str.split('').reverse().reduce((prev, next, index) =>{
return((index % 3) ? next : ( next + ',')) + prev
})
}
console.log(formatCash('1234567890'))

4、逗号运算符 (C语言运算符)

 var a = 0;
var b = ( a++, 99);
//a = 1
//b = 99

5、不用Number、parseInt和parseFloat和方法把"1"字符串转换成数字

不准用强制类型转换,那么就想到了强大了隐式转换

 var a = "1";
var b = +a;
console.log(typeof(b), b) // number 1

6、最短的代码实现数组去重  (es6)

 [...new Set([1, '1', 2,1,1,3,4,'1','2'])]
//[1, "1", 2, 3, 4, "2"]

7、用最短的代码实现以个长度为m(6)且值都n(8)的数组;(es6)

 Array(6).fill(8)

8、短路表达式

条件判断

 var a = b && 1
//相当于
if ( b ) {
a = 1
} else {
a = b
} var c = d || 1
//相当于
if ( d ) {
c = d
} else {
c = 1
}

9、取出一个数组中的最大值和最小值

var num = [5, 15, 25, -20];
var max = Math.max.apply(Math, num);
var min = Math.min.apply(Math, num);
// max 25
// min -20

今天看到的一些js的用法的更多相关文章

  1. Javascript模块化编程(三):require.js的用法

    Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...

  2. JS 正则表达式用法

    JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...

  3. toastr.js插件用法

    toastr.js插件用法 toastr.js是一个基于jQuery的非阻塞通知的JavaScript库.toastr.js可以设定四种通知模式:成功.出错.警告.提示.提示窗口的位置.动画效果等都可 ...

  4. Js相关用法个人总结

    Js相关用法个人总结  js中将数组元素添加到对象中var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<pushArr. ...

  5. jQuery each和js forEach用法比较

    本文实例分析了jQuery each和js forEach用法.分享给大家供大家参考,具体如下: 对于遍历数组的元素,js代码和jquery都有类似的方法,js用的是forEach而jquery用的是 ...

  6. Javascript模块化编程require.js的用法

    JS模块化工具requirejs教程(一):初识requirejs http://www.runoob.com/w3cnote/requirejs-tutorial-1.html JS模块化工具req ...

  7. (转)Javascript模块化编程(三):Require.js的用法

    转自 ruanyifeng 系列目录: Javascript模块化编程(一):模块的写法 Javascript模块化编程(二):AMD规范 Javascript模块化编程(三):Require.js的 ...

  8. 【笔记】关于require.js 的用法

    最近忙于学校的一个新网站建设,对于以前的前端程序编写方式的不正规特意上网学习了require.js 的用法,使此次的工程更加有条理同时符合当前前端的开发模式——前端模块化. 网上有不少很好的学习文章这 ...

  9. rem.js的用法及在浏览器端的适配

    首先介绍下自己,我是从后端转前端,对于前端的见识还不深望各位全当一个新手自述....... 随着移动设配的更新换代,市场上涌现了大量的非主流设备分辨率,比如华为手机...... 更新换代快的大前提下自 ...

  10. Moment.js常见用法总结

    Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率. ​ 日常开发中,通常会对时间进行下面这几个操作:比如获取时 ...

随机推荐

  1. HTML解析库Gumbo简单使用记录

    目录 Gumbo简介 使用记录 1.GumboNode的类型 2.简单的使用 Gumbo简介 Gumbo是谷歌开源的一个纯C编写的HTML解析库,性能很好,就是用起来比较麻烦. github地址htt ...

  2. Long polling failed, will retry in 16 seconds. appId: zeus-guard, cluster: default, namespaces: application, long polling url: null, reason: Get config services failed from···

    当dubbo应用启动之前, 如果apollo 未启动好,那么我们dubbo应用会一直等待,直到apollo准备就绪,注意其中轮询时间是从1,2,3,4,8,14,32, 方式一直增长,单位是s.

  3. 检查死锁与Locked ownable synchronizers(转载)

    通过jstack可快速检查线程的死锁信息,用法如下: # 获取JVM ID(JAVA 进程ID),通过参数lv可以获取更详细的JAVA方法调用信息 jps -lv # 得到JVM ID后,执行jsta ...

  4. 我的Nginx配置文件

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  5. Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化

    Atitit 提升开发进度大方法--高频功能与步骤的优化 类似性能优化 1. 通用功能又可以组合成crud模块1 1.1. 查询(包括步骤,发送查询dsl,通讯返回结果,绑定到表格控件)2 1.2. ...

  6. 详解CUDA编程

    CUDA 是 NVIDIA 的 GPGPU 模型,它使用 C 语言为基础,可以直接以大多数人熟悉的 C 语言,写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或是特殊的结构.” 编者注: ...

  7. 每日英语:The Right Way to Network

    With startup-themed conferences, hackathons, meet-ups and cocktail hours regularly taking place, ent ...

  8. Google file system

    读完了Google file system论文的中文版,记录一下总结,懒得打字,直接上草图:

  9. 【Ubuntu】xrdp完美实现Windows远程访问Ubuntu 16.04

    步骤一.下载TigerVNC Server软件包 下载地址:Tigervnc Deb软件包(适用于Ubuntu 16.04.1 - 64位) 步骤二. 安装TigerVNC Server软件包 1.打 ...

  10. 【6集iCore3_ADP触摸屏驱动讲解视频】6-6 底层驱动之触摸操作

    源视频包下载地址:  链接:http://pan.baidu.com/s/1skQlWAT 密码:ymn7   银杏科技优酷视频发布区: http://i.youku.com/gingko8