学JavaScript七大注意事项【必看】


Posted in Javascript onMay 04, 2016

知识说明:

初学JavaScript,注意以下七大细节,在实现同样功能的情况下,让我们的代码更易懂、效率更高。

一、简化代码

例如:创建对象

之前是这样的:

Var car = new object();

Car.color = “red”;

Car.wheels = 4;

Car.age = 8;

而现在可以写成这样子:

Var car = {color:'red', wheels:4, age:8}

例如:创建数组

之前是这样的:

Var studentArray = new Array(‘zhangsan', 'lisi', ‘zhaowu', ‘wuliu');

而现在可以写成这样子:

Var studentArray = {‘zhangsan', ‘ lisi', ‘zhaowu', ‘wuliu'};

例如:使用三元运算符简化代码

之前的写法是:

Var result;

if(x > 100)

{

    Result = 1;

}else{

    Result = -1;

}

而现在可以写成:

Var result = x >100 ? 1 : -1;

二、使用JSON作为数据格式

使用Json格式来存储数据:

var band = {

 "name":"The Red Hot Chili Peppers",

 "members":[

  {

   "name":"Anthony Kiedis",

   "role":"lead vocals"

  },

  {

   "name":"Michael 'Flea' Balzary",

   "role":"bass guitar, trumpet, backing vocals"

  },

  {

   "name":"Chad Smith",

   "role":"drums,percussion"

  },

  {

   "name":"John Frusciante",

   "role":"Lead Guitar"

  }

 ],

 "year":"2009"

}

也可以使用JS来存储数据,代码如下:

<div id = “dataDiv”></div>

<script>

    Function saveData(data)

{

    Var out =“<ul>”;

    For(var i=0; i<data.length; i++)

{

    Out += “<li><a href =”'+data[i].url+'”>+

data[i].d+</a></li>”;

}

Out += ‘</ul>';

Document.getElementById(‘dataDiv').innerHTML = out;

}

</script>

甚至可以将上面JS生成的存储数据的作为API的返回值

<script src="http://feeds.delicious.com/v2/json/codepo8/javascript?count=15&callback=delicious">

</script>

三、尽量使用JavaScript原生函数

例如:获取一组数据中的最大值

var maxData = Math.max(0,20,50,10);

alert(maxData);   //返回的最大值为50

例如:使用JS给一个元素添加class样式,代码片段如下:

Function addClass(elm, newclass)

{

    Var classes = elm.className.split(‘ ‘ );

    Classes.push(newclass);

    Elm.className = classes.join(‘ ');

}

四、事件委托

例如:

<h2>Great Web resources</h2>

<ul id="resources">

 <li><a href="http://opera.com/wsc">Opera Web Standards

Curriculum</a></li>

 <li><a href="http://sitepoint.com">Sitepoint</a></li>

 <li><a href="http://alistapart.com">A List Apart</a></li>

 <li><a href="http://yuiblog.com">YUI Blog</a></li>

 <li><a href="http://blameitonthevoices.com">Blame it on the

voices</a></li>

 <li><a href="http://oddlyspecific.com">Oddly specific</a></li>

</ul>

最佳脚本书写方式:

(function(){

 var resources = document.getElementById('resources');

 resources.addEventListener('click',handler,false);

 function handler(e){

  var x = e.target; // get the link tha

  if(x.nodeName.toLowerCase() === 'a'){

   alert('Event delegation:' + x);

   e.preventDefault();

  }

 };

})();

五、匿名函数

var myApplication = function(){

 var name = 'Chris';

 var age = '34';

 var status = 'single';

 function createMember(){

  // [...]

 }

 function getMemberDetails(){

  // [...]

 }

 return{

  create:createMember, get:getMemberDetails

 }

}();

//myApplication.get() and myApplication.create() now work.

六、代码可配置

你写的代码如果想让别人更容易进行使用或者修改,则需要可配置,解决方案是在你写的脚本中增加一个配置对象。要点如下:

1、在你的脚本中新增一个叫configuration的对象。

2、在配置对象中存放所有其它人可能想要去改变的东西,例如CSS的ID、class名称、语言等等。

3、返回这个对象,作为公共属性以便其它人可以进行重写。

七、代码兼容性

兼容性是初学者容易忽略的部分,通常学习Javascript的时候都是在某个固定的浏览器中进行测试,而这个浏览器很有可能就是IE,这是非常致命的,因为目前几大主流浏览器中偏偏IE对标准的支持是最差的。最终用户看到的结果也许就是,你写的代码在某个浏览器无法正确运行。你应该把你的代码在主流的浏览器中都测试一下,这也许很费时间,但是应该这样做。

以上这篇学JavaScript七大注意事项【必看】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 表单取值常用代码
Dec 22 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
nullJavascript中创建对象的五种方法实例
May 07 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
浅析js预加载/延迟加载
Sep 25 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
Jun 02 Javascript
文件上传,iframe跨域数据提交的实现
Nov 18 Javascript
vue webpack打包后图片路径错误的完美解决方法
Dec 07 Javascript
JS数组Object.keys()方法的使用示例
Jun 05 Javascript
微信小程序引入VANT组件的方法步骤
Sep 19 Javascript
微信小程序tab左右滑动切换功能的实现代码
Feb 08 Javascript
vscode中使用npm安装babel的方法
Aug 02 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 #Javascript
开启BootStrap学习之旅
May 04 #Javascript
JavaScript入门教程之引用类型
May 04 #Javascript
javascript和jquery实现用户登录验证
May 04 #Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
May 04 #Javascript
纯JS代码实现气泡效果
May 04 #Javascript
DWR中各种java方法的调用
May 04 #Javascript
You might like
php递归函数怎么用才有效
2018/02/24 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
javascript中的面向对象
2017/03/30 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
Python线程的两种编程方式
2015/04/14 Python
django 常用orm操作详解
2017/09/13 Python
python查询mysql,返回json的实例
2018/03/26 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
Pygame框架实现飞机大战
2020/08/07 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
python3中编码获取网页的实例方法
2020/11/16 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
美术教师自我鉴定
2014/02/12 职场文书
股权转让协议书范本
2014/04/12 职场文书
感恩节活动策划方案
2014/05/16 职场文书
六一亲子活动总结
2014/07/01 职场文书
人力资源管理求职信
2014/08/07 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
python迷宫问题深度优先遍历实例
2021/06/20 Python
Mysql 一主多从的部署
2022/05/20 MySQL