学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的tabs使用时的问题
Mar 23 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
Apr 12 Javascript
Javascript 中 null、NaN和undefined的区别总结
Apr 10 Javascript
父页面显示遮罩层弹出半透明状态的dialog
Mar 04 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
js print打印网页指定区域内容的简单实例
Nov 01 Javascript
使用Fullpage插件快速开发整屏翻页的页面
Sep 13 Javascript
JavaScript鼠标悬停事件用法解析
May 15 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 Javascript
vue实现单一筛选、删除筛选条件
Oct 26 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
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
PHP引用的调用方法分析
2016/04/25 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
es6中reduce的基本使用方法
2019/09/10 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python的标准模块包json详解
2017/03/13 Python
python 异或加密字符串的实例
2018/10/14 Python
深入浅析Python中的迭代器
2019/06/04 Python
Python socket 套接字实现通信详解
2019/08/27 Python
django中的数据库迁移的实现
2020/03/16 Python
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
中国宠物用品商城:E宠商城
2016/08/27 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
数学系个人求职信范文
2014/01/30 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
项目建议书
2015/02/04 职场文书
文化大革命观后感
2015/06/17 职场文书
诚信教育主题班会
2015/08/13 职场文书
新党员入党决心书
2015/09/22 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
python中urllib包的网络请求教程
2022/04/19 Python
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers