学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 相关文章推荐
js创建对象的几种常用方式小结(推荐)
Oct 24 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
js操作iframe父子窗体示例
May 22 Javascript
聊一聊JS中this的指向问题
Jun 17 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
详解jQuery事件
Jan 13 Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
Vue-cli@3.0 插件系统简析
Sep 05 Javascript
微信小程序实现canvas分享朋友圈海报
Jun 21 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 Javascript
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
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
文件系统基本操作类
2006/11/23 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
详解python之协程gevent模块
2018/06/14 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
解决Mac下使用python的坑
2019/08/13 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
党课培训主持词
2014/04/01 职场文书
企业法人授权委托书
2014/04/03 职场文书
医学专业自荐信
2014/06/14 职场文书
授权收款委托书范本
2014/10/10 职场文书
会计出纳岗位职责
2015/03/31 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python
Redis基本数据类型Set常用操作命令
2022/06/01 Redis