三明市,福建省辖地级市,位于福建省中部连接西北隅,地处北纬25°30′~27°07′、东经116°22′~118°39′之间,全市面积22965平方千米;东依福州市,西毗江西省,南邻泉州市,北傍南平市,西南接龙岩市; [1] 是一座新兴的工业城市,是全国文明城市和国家卫生城市、国家园林城市及中国优秀旅游城市。 [2] 2016年9月,被国家林业局授予“国家森林城市”称号。 [3] 2017年,三明市复查确认继续保留全国文明城市荣誉称号。 [4]
三明市拥有海峡两岸(三明)现代林业合作实验区,是全国集体林业综合改革试验示范区,享有福建“绿色宝库”的美誉,是全国四个活立木蓄积量超过1亿立方米的设区市之一。截至2015年6月,已发现金属和非金属矿种79个,已探明储量的矿种49种,已开发利用的43种。全市拥有泰宁世界自然遗产地、世界地质公园2个世界级品牌和国家级、省级旅游品牌各50多个,数量和等级名列全省前茅。 [2]
1.压缩稀疏数组: bad:
复制代码var a=[2,5,undefind,6,8,undefined,9];function (){var b=[];for(var i=0;i<a.length;i++){if(a[i]!=undefined){b.push(a[i]);}}return b;}复制代码good:(数组过滤,只返回真值元素)
复制代码var a=[2,5,undefind,6,8,undefined,9];a=a.filter(function(){return true;});复制代码2.判断真假 bad:
复制代码if (result !== null || result !== undefined || result !== '' || result !== false || result !== 0) {//do somthing}复制代码good:(所有null,undefined,空,false,0都是假)
复制代码if (result) {//do somthing}复制代码3.实例化对象 bad:
复制代码var a = new Array();var b = new Object();var c = new String("秋叶");复制代码good:(字面量写法简洁且更容易理解)
复制代码var a = [];var b = {};var c = "秋叶";复制代码4.单一判断 bad:
复制代码if (result) {console.log("秋叶");}if (!result) {console.log("秋叶");}复制代码good:
复制代码result && console.log("秋叶");result || console.log("秋叶");复制代码5.条件选择 bad:
复制代码if(result=="yes"){a="111";}else{a="000";}复制代码good:(简单的三元表达式比if更好~)
复制代码a=result=="yes"?"111":"000";复制代码
6.for循环 bad:
复制代码for (var i = 0; i < arr.length; i++)复制代码
good:
复制代码for(var i in arr)复制代码
7.文本框输入触发 bad:
复制代码document.getElementById("input").onkeyup(function(){console.log("输入内容了");});复制代码good:(解决keyup键盘触发不能捕捉鼠标粘贴进去的动作)
复制代码document.getElementById("input").oninput(function(){console.log("输入内容了");});复制代码8.函数返回 bad:
复制代码function test(){var test=false;var obj=[{content:0,detail:"hahaha"},{content:1,detail:"yes"},{content:0,detail:"no"}];for(var i=0;i<obj.length;i++){if(obj[i].content==1){test=true;}}return test;}复制代码good:(提前返回结束循环,避免做没必要的工作)
复制代码function test(){var test;var obj=[{content:0,detail:"hahaha"},{content:1,detail:"yes"},{content:0,detail:"no"}];for(var i in obj){if(obj[i].content){return true;}}return test;}复制代码9.判断元素是否在数组中 bad:
复制代码var a=[48,56,65,77,6,80,92];for(var i in a){if(i===6){console.log("包含6");}}复制代码good:
复制代码var a=[48,56,65,77,6,80,92];a.indexOf(6)>-1 && console.log("包含6");复制代码10.做好后备工作 bad:
复制代码var script=document.createElemnt("script");script.setAttribute('src', ' //www.mizuiren.com/index.js');document.getElementById("content").appendChild(script);复制代码good:(如果第一个不确定选择器不存在的话就用后备的选择器)
复制代码var content=document.getElementById("content") || document.body;var script=document.createElemnt("script");script.setAttribute('src', ' //www.mizuiren.com/index.js');content.appendChild(script);复制代码11.增值简化 bad:
复制代码var i=0;if(value==="yes"){var sName = aValues[i]; i++;}复制代码good:
复制代码var i=0;if(value==="yes"){var sName = aValues[i++];}复制代码12.尽量减少在for循环中的工作 bad:
复制代码for(var i=0;i<obj.length;i++){//do something}复制代码good:(避免每次循环都计算obj的length,把length缓存起来)
复制代码for(var i=0,len=obj.length;i<len;i++){//do something }复制代码13.使用字典替代switch bad:
复制代码var a="s3";switch (a) {case "s1":result = "zero";break;case "s2":result = "one";break;case "s3":result = "three";break;default:result = "unknown";}复制代码good:
复制代码var b={s1:"zero",s2:"one",s3:"three"}var result=b[a];复制代码14.return布尔值时 bad:
复制代码(function (){if (age > 18) {return true;} else {return false;}})();复制代码good:
复制代码(function (){return age > 18;})();复制代码15.不嵌套else的if bad:
复制代码if (user.id === 10) {if (user.name !== "") {if (user.email === "email") {//do something...}}}复制代码good:
复制代码if(user.id === 10 && user.name !=="" && user.email === "email") {//do something...}复制代码16.定义多个变量 bad:
复制代码var a = "aa";var b = "bb";var c = "cc";复制代码
good:
复制代码var a = "aa",b = "bb",c = "cc";复制代码
17.避免在循环中频繁对dom的操作 bad:
复制代码for (var i = 0; i < 1000; i++){str += str;document.getElementById("box").innerHTML = str;}复制代码good:(循环完成后再操作dom)
复制代码for (var i = 0; i < 1000; i++){str += str;}document.getElementById("box").innerHTML = str;复制代码18.谨慎产生全局变量 bad:(无形中产生了全局变量b)
复制代码function (){var a = b = 1;}复制代码good:
复制代码function (){var a = 1,b = 1;}复制代码19.参数的传递 bad:
复制代码function regist(userName, userPwd, userEmail, userPhone) {//do something...}复制代码good:(过多参数把它们整合到一个json里面)
复制代码var user={userName:"", userPwd:"", userEmail:"", userPhone:""}function regist(user) {//do something}复制代码