第33篇 js 常用简单的写法
1.取整
取整可以使用'~~'相当于Math.floor() ~~1.5=1;
2.判断为空或者undefine时赋一个自定义的值
var obj={a:"111",b:"222"};
var newObj=obj.c||{};
上面的demo如果obj.c是undefine时候用一个空对象给newObj
3.数组的合并,把b 数据的值都插入到a的数组里面。
- 一般的写法
var a=[1,2,3,4,5];
var b=[6,7,8,9,10];
var len=b.length;
for(var i=0;i<len;i++){
//如果是直接插入
a.push(b[i]);
//如果需要判断
if(b[i]>8){
a.push(b[i]);
}
}
- 简洁的写法
var a=[1,2,3,4,5];
var b=[6,7,8,9,10];
Array.prototype.push.apply(a,b);
//正常的版本
Array.prototype.push.apply(a,b.filter(function(x){
return x>8;
});
//lamada 表达式的方式,有的浏览器可能不支持。
Array.prototype.push.apply(a,b.filter(x=>x>8));
4.模块化的写法
js模块化的写法能够使代码变的更干净整洁,优点也有很多,如避免变量名冲突
写法如下:
var server=function(){
var _init=function(){
alert("ok");
}
return {
init:_init
}
}();//最后的这个括号不能用。
//调用如下:
server.init();
5. 把undefine转化成bool
在js中,null,undefine,0,false,在if判断的时候都会判断成false.在这几种数据转成bool时候,可以使用!!,如:
var b=!!0;
2017.01.11
第33篇 js 常用简单的写法的更多相关文章
- Vue专题-js常用指令
vue.js官方给自己的定为是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍了vue.js的常用指令. vue.js常用指令 Vue.js使用方式及文本插值 Vue.js 使用了基于 HTML ...
- JS设计模式--简单工厂模式
在JS中创建对象会习惯的使用new关键字和类构造函数(也是可以用对象字面量). 工厂模式就是一种有助于消除两个类依赖性的模式. 工厂模式分为简单工厂模式和复杂工厂模式,这篇主要讲简单工厂模式. 简单工 ...
- Js常用技巧
摘录:http://crasywind.blog.163.com/blog/static/7820316920091011643149/ js 常用技巧 1. on contextmenu=" ...
- 前端总结·基础篇·JS(四)异步请求及跨域方案
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- js函数常见的写法以及调用方法
写在前面:本文详细的介绍了5中js函数常见的写法以及调用的方法,平时看别人代码的时候总是看到各种不同风格的js函数的写法.不明不白的,找了点资料,做了个总结,需要的小伙伴可以看看,做个参考.1.常规写 ...
- iscroll.js的简单使用方法(总结)
iscroll.js的简单使用方法(总结) 一.总结 一句话总结:Scroll是一个类,每个需要使用滚动功能的区域均要进行初始化. 最佳的HTML结构如下: <div id="wrap ...
- Farseer.net轻量级开源框架 中级篇:常用的扩展方法
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: BasePage.BaseController.BaseHandler.BaseM ...
- Vue - vue.js 常用指令
Vue - vue.js 常用指令 目录: 一. vuejs模板语法之常用指令 1. 常用指令: v-html 2. 常用指令: v-text 3. 常用指令: v-for 4. 常用指令: v-if ...
- iscroll.js的简单使用方法
参考链接:https://www.cnblogs.com/Renyi-Fan/tag/js%E6%8F%92%E4%BB%B6/default.html?page=2 目录 一.总结 一句话总结:Sc ...
随机推荐
- bzoj2049
2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 7579 Solved: 3548[Submit] ...
- 如何解决ADT17下Android第三方jar包NoClassDefFoundError的错误
转自:http://blog.csdn.net/huzgd/article/details/7604069本人已试过第二种解决方法可行!! 原文:Posted by Foxykeep on 22/03 ...
- 关于金额,重量等浮点数的数据库字段设计(用Int,Long代替浮点数计算)
金额.重量.成绩等数据库字段推荐使用int或bigint类型. 通常我们数据库设计中金额,重量等涉及到小数位的字段会用float或decimal,mysql还可以用double,但往往每笔金额的计算我 ...
- v4l2视频采集摄像头
v4l2 --是Linux内核中关于视频设备的内核驱动框架,为上层访问底层的视频设备提供了统一的接口./dev/vidioX 1.打开设备文件 fd=open("/dev/video3&qu ...
- Java数据流的一般操作规律总结
流的操作规律: 1,明确源和目的. 数据源:就是需要读取,可以使用两个体系:InputStream.Reader: 数据汇:就是需要写入,可以使用两个体系:OutputStream.Writer: 2 ...
- --@ui-router——$state服务原版详解
$state service in module ui.router.state Description $state service is responsible for representing ...
- Raphael的拖动处理
Raphael的拖动处理: <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- App Store Review Guideline(带翻译)
1. Terms and conditions(法律与条款) 1.1 As a developer of applications for the App Store you are bound b ...
- JSP 初始化参数
JSP 初始化参数: tomcat启动的时候就会执行那个函数: xml: <?xml version="1.0" encoding="UTF-8"?> ...
- Kafka 0.10 SocketServer源代码分析
1概要设计 Kafka SocketServer是基于Java NIO来开发的,采用了Reactor的模式,其中包含了1个Acceptor负责接受客户端请求,N个Processor负责读写数据,M个H ...