学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 相关文章推荐
ExtJS 2.0实用简明教程 之ExtJS版的Hello
Apr 29 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
Mar 18 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
jquery插件jTimer(jquery定时器)使用方法
Dec 23 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
JavaScript编程的单例设计模讲解
Nov 10 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 Javascript
折叠菜单及选择器的运用
Feb 03 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
Angular6 用户自定义标签开发的实现方法
Jan 08 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
Vue3.0写自定义指令的简单步骤记录
Jun 27 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
php微信开发之关注事件
2018/06/14 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
大学生求职简历的自我评价
2013/10/21 职场文书
倡导文明标语
2014/06/16 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
获奖感言怎么写
2015/07/31 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
浅谈JavaScript作用域
2021/12/06 Javascript
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers