iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript怎么定义对象和数组
  • 812
分享到

JavaScript怎么定义对象和数组

2024-04-02 19:04:59 812人浏览 泡泡鱼
摘要

这篇文章主要介绍“javascript怎么定义对象和数组”,在日常操作中,相信很多人在JavaScript怎么定义对象和数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja

这篇文章主要介绍“javascript怎么定义对象和数组”,在日常操作中,相信很多人在JavaScript怎么定义对象和数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript怎么定义对象和数组”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  一、简化代码

  JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的:? ?

  var car = new Object();

  car.colour = 'red';

  car.wheels = 4;

  car.hubcaps = 'spinning';

  car.age = 4;

  下面的写法可以达到同样的效果:

  var car = {

  colour:'red',

  wheels:4,

  hubcaps:'spinning',

  age:4

  }

  后面的写法要短得多,而且你不需要重复写对象名称。

  另外对于数组同样有简洁的写法,过去我们声明数组是这样写的:

  var moviesThatNeedBetterWriters = new Array(

  'TransfORMers','Transformers2','Avatar','Indiana Jones 4'

  );

  更简洁的写法是:

  var moviesThatNeedBetterWriters = [

  'Transformers','Transformers2','Avatar','Indiana Jones 4'

  ];

  对于数组,还有关联数组这样一个特别的东西。 你会发现很多代码是这样定义对象的:

  var car = new Array();

  car['colour'] = 'red';

  car['wheels'] = 4;

  car['hubcaps'] = 'spinning';

  car['age'] = 4;

  这太疯狂了,不要觉得困惑,“关联数组”只是对象的一个别名而已。

  另外一个简化代码的方法是使用三元运算符,举个例子:

  var direction;

  if(x < 200){

  direction = 1;

  } else {

  direction = -1;

  }

  我们可以使用如下的代码替换这种写法:

  var direction = x < 200 ? 1 : -1;

  二、使用JSON作为数据格式

  伟大的Douglas Crockford发明了jsON数据格式来存储数据,你可以使用原生的javascript方法来存储复杂的数据而不需要进行任何额外的转换,例如:

  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"

  }

  你可以使用在JavaScript中直接使用JSON,甚至作为api返回的一种格式,在许多的API中被应用,例如:

  <div id="delicious"></div><script>

  function delicious(o){

  var out = '<ul>';

  for(var i=0;i<o.length;i++){

  out += '<li><a href="' + o[i].u + '">' +

  o[i].d + '</a></li>';

  }

  out += '</ul>';

  document.getElementById('delicious')。innerhtml = out;

  }

  </script>

  <script src=" callback=delicious"></script>

  这里调用delicious 的WEB服务获取最新书签,以JSON格式返回,然后将它们显示成无序列表的形式。

  从本质上讲,JSON是用于描述复杂的数据最轻量级的方式,而且直接它运行在浏览器中。 你甚至可以在PHP中调用 json_decode()函数来使用它。

  三、尽量使用JavaScript原生函数

  要找一组数字中的最大数,我们可能会写一个循环,例如:

  var numbers = [3,342,23,22,124];

  var max = 0;

  for(var i=0;i<numbers.length;i++){

  if(numbers[i] > max){

  max = numbers[i];

  }

  }

  alert(max);

  其实,不用循环可以实现同样的功能:

  var numbers = [3,342,23,22,124];

  numbers.sort(function(a,b){return b - a});

  alert(numbers[0]);

  而最简洁的写法是:

  Math.max(12,123,3,2,433,4); // returns 433

  你甚至可以使用Math.max来检测浏览器支持哪个属性:

  var scrollTop= Math.max(

  doc.documentElement.scrollTop,

  doc.body.scrollTop

  );

  如果你想给一个元素增加class样式,可能原始的写法是这样的:

  function addclass(elm,newclass){

  var c = elm.className;

  elm.className = (c === '') ? newclass : c+' '+newclass;

  而更优雅的写法是:

  function addclass(elm,newclass){

  var classes = elm.className.split(' ');

  classes.push(newclass);

  elm.className = classes.join(' ');

  }

  四、事件委托

  事件是JavaScript非常重要的一部分。我们想给一个列表中的链接绑定点击事件,一般的做法是写一个循环,给每个链接对象绑定事件,HTML代码如下:

  <h3>Great Web resources</h3>

  <ul id="resources">

  <li><a href="">Opera Web Standards Curriculum</a></li>

  <li><a href="">Sitepoint</a></li>

  <li><a href="">A List Apart</a></li>

  <li><a href="">YUI Blog</a></li>

  <li><a href="">Blame it on the voices</a></li>

  <li><a href="">Oddly specific</a></li>

  </ul>

  脚本如下:

  // Classic event handling example

  (function(){

  var resources = document.getElementById('resources');

  var links = resources.getElementsByTagName('a');

  var all = links.length;

  for(var i=0;i<all;i++){

  // Attach a listener to each link

  links[i].addEventListener('click',handler,false);

  };

  function handler(e){

  var x = e.target; // Get the link that was clicked

  alert(x);

  e.preventDefault();

  };

  })();

  更合理的写法是只给列表的父对象绑定事件,代码如下:

  (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();

  }

  };

  })();

  五、匿名函数

  关于JavaScript的最头疼的事情之一是,它的变量没有特定的作用范围。 一般情况下,任何变量,函数,数组或对象都是全局性,这意味着在同一页上的其他脚本可以访问并覆盖它们。解决方法是把变量封装在一个匿名函数中。 例如,下面的定义将产生三个全局变量和和两个全局函数:

  var name = 'Chris';

  var age = '34';

  var status = 'single';

  function createMember(){

  // [&hellip;]

  }

  function getMemberDetails(){

  // [&hellip;]

  }

  封装后如下:

  var myApplication = function(){

  var name = 'Chris';

  var age = '34';

  var status = 'single';

  return{

  createMember:function(){

  // [&hellip;]

  },

  getMemberDetails:function(){

  // [&hellip;]

  }

  }

  }();

  // myApplication.createMember() and

  // myApplication.getMemberDetails() now works.

  这被称为单体模式,是JavaScript设计模式的一种,这种模式在YUI中用得非常多,改进的写法是: ?

  var myApplication = function(){

  var name = 'Chris';

  var age = '34';

  var status = 'single';

  function createMember(){

  // [&hellip;]

  }

  function getMemberDetails(){

  // [&hellip;]

  }

  return{

  create:createMember,

  get:getMemberDetails

  }

  }();

  //myApplication.get() and myApplication.create() now work.

  六、代码可配置

  你写的代码如果想让别人更容易进行使用或者修改,则需要可配置,解决方案是在你写的脚本中增加一个配置对象。要点如下:

  1、在你的脚本中新增一个叫configuration的对象。

  2、在配置对象中存放所有其它人可能想要去改变的东西,例如CSS的ID、class名称、语言等等。

  3、返回这个对象,作为公共属性以便其它人可以进行重写。

  七、代码兼容性

  兼容性是初学者容易忽略的部分,通常学习Javascript的时候都是在某 个固定的浏览器中进行测试,而这个浏览器很有可能就是IE,这是非常致命的,因为目前几大主流浏览器中偏偏IE对标准的支持是最差的。最终用户看到的结果 也许就是,你写的代码在某个浏览器无法正确运行。你应该把你的代码在主流的浏览器中都测试一下,这也许很费时间,但是应该这样做。

到此,关于“JavaScript怎么定义对象和数组”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: JavaScript怎么定义对象和数组

本文链接: https://www.lsjlt.com/news/95257.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript怎么定义对象和数组
    这篇文章主要介绍“JavaScript怎么定义对象和数组”,在日常操作中,相信很多人在JavaScript怎么定义对象和数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2024-04-02
  • JavaScript如何定义对象数组
    本篇内容介绍了“JavaScript如何定义对象数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数组对象用来在单独的变量名中存储一系列的值...
    99+
    2023-06-20
  • JavaScript定义对象数组的方法
    这篇文章主要介绍“JavaScript定义对象数组的方法”,在日常操作中,相信很多人在JavaScript定义对象数组的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2024-04-02
  • javascript如何定义类数组对象
    这篇文章主要介绍“javascript如何定义类数组对象”,在日常操作中,相信很多人在javascript如何定义类数组对象问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ja...
    99+
    2024-04-02
  • JavaScript怎么自定义对象
    这篇文章主要介绍“JavaScript怎么自定义对象”,在日常操作中,相信很多人在JavaScript怎么自定义对象问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSc...
    99+
    2024-04-02
  • JavaScript中怎么定义对象
    本篇文章给大家分享的是有关JavaScript中怎么定义对象,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、JavaScript对象的定义J...
    99+
    2024-04-02
  • vue如何定义数组对象
    在vue中定义数组对象的方法:1.新建vue.js项目;2使用personQueryList方法定义数组对象;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创建...
    99+
    2024-04-02
  • javascript怎么定义数组
    在JavaScript中,可以使用以下方法来定义数组:1. 使用数组字面量(Array Literal)来定义数组,即使用方括号 [...
    99+
    2023-08-09
    javascript
  • python怎么定义类和对象
    这篇“python怎么定义类和对象”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么定义类和对象”文章吧。定义简...
    99+
    2023-06-29
  • JavaScript定义一组数组求和
    在JavaScript中定义一个数组,可以使用以下语法:var myArray = [1, 2, 3, 4, 5];以上代码定义了一个名为“myArray”的数组,其中包含了5个数字元素。如果想要计算数组中所有元素的和,可以使用以下代码:v...
    99+
    2023-05-15
  • JavaScript字符串怎么定义为对象
    本文小编为大家详细介绍“JavaScript字符串怎么定义为对象”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript字符串怎么定义为对象”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
  • javascript中怎么样定义数组
    这篇文章将为大家详细讲解有关javascript中怎么样定义数组,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 javascript中定义数组...
    99+
    2024-04-02
  • javascript中的数组怎么定义
    今天小编给大家分享一下javascript中的数组怎么定义的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2024-04-02
  • JavaScript怎么定义数组元素
    本篇内容主要讲解“JavaScript怎么定义数组元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript怎么定义数组元素”吧!   ...
    99+
    2024-04-02
  • javascript对象的定义方法是什么
    小编给大家分享一下javascript对象的定义方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript对象的定义方法:1、工厂方式;2、构造...
    99+
    2023-06-14
  • Java对象数组定义与用法详解
    Java对象数组是一种用于存储多个相同类型的对象的数据结构。它可以按照一定的顺序存储和访问对象,并且可以根据需要进行动态调整大小。要定义一个对象数组,可以使用以下语法:```ClassName[] arrayName = new Cla...
    99+
    2023-08-09
    Java
  • java怎么定义json对象
    在Java中,可以使用`JSONObject`类来定义JSON对象。首先,需要导入`org.json.JSONObject`包。然后...
    99+
    2023-08-26
    java json
  • 一文详解JavaScript数组对象和字符串对象
    目录一、数组对象1.数组类型检测2.添加或删除数组元素3.【案例】筛选数组4.数组排序5.数组索引6.【案例】数组去除重复元素7. 数组转换为字符串8.其他方法二、字符串对象1.字符...
    99+
    2023-05-17
    JavaScript字符串对象 JavaScript数组对象
  • JavaScript 自定义对象方法汇总
    目录一使用object创建对象二使用构造函数创建对象三字面量创建对象四this关键字this表示当前对象五基本数据类型和引用数据类型基本数据类型引用数据类型六闭包如何理解闭包?闭包的...
    99+
    2024-04-02
  • JavaScript中怎么对对象数组进行排序
    这期内容当中小编将会给大家带来有关JavaScript中怎么对对象数组进行排序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。基本数组排序默认情况下,Array.sort函...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作