学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 EasyUI 使用介绍
Apr 01 Javascript
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
Draggable Elements 元素拖拽功能实现代码
Mar 30 Javascript
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
jQuery oLoader实现的加载图片和页面效果
Mar 14 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
Dec 31 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
Vue集成Iframe页面的方法示例
Dec 12 Javascript
puppeteer实现html截图的示例代码
Jan 10 Javascript
微信小程序-API接口安全详解
Jul 16 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简单统计字符串单词数量的方法
2015/06/19 PHP
php把数组值转换成键的方法
2015/07/13 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
php输出图像的方法实例分析
2017/02/16 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
TensorFlow如何实现反向传播
2018/02/06 Python
python 2.7.14安装图文教程
2018/04/08 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
python定义具名元组实例操作
2021/02/28 Python
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
公证委托书大全
2014/04/04 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
效能监察建议书
2014/05/19 职场文书
预防煤气中毒方案
2014/06/16 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers