学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 相关文章推荐
JavaScript获得选中文本内容的方法
Dec 02 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
在页面加载完成后通过jquery给多个span赋值
May 21 Javascript
JavaScript中几种排序算法的简单实现
Jul 29 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
jQuery实现页面滚动时智能浮动定位
Jan 08 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 Javascript
JS的函数调用栈stack size的计算方法
Jun 24 Javascript
JS中使用new Option()实现时间联动效果
Dec 10 Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
JavaScript隐式类型转换代码实例
May 29 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实现框架(一)
2006/10/09 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
解析JavaScript中delete操作符不能删除的对象
2013/12/03 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
python套接字流重定向实例汇总
2016/03/03 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
Python pip配置国内源的方法
2020/02/14 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
运动会邀请函范文
2014/02/06 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
学校食堂标语
2014/10/06 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
高中同学会致辞
2015/08/01 职场文书
2016高考感言
2015/08/01 职场文书
POST提交数据常见的四种方式
2022/01/18 HTML / CSS