JavaScript数据类型学习笔记分享_javascript技巧

本文实例为大家讲解JavaScript数据类型的相关资料,供大家参考,具体内容如下

1.引用类型
引用类型的值是引用类型的一个实例,引用类型是一种数据结构,用于将数据和功能组织在一起,也常被叫做类。
对象时某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的,构造函数本身就是函数,是出于创建新对象的目的而定义的。

 var person = new Object();

2.Object类型
(1)Object类型对于应用程序中存储和传输数据来说,是非常理想的选择。
(2)Object类型实例创建方式:
使用new加Object构造函数。

 <script type="text/javascript">
      var person = new Object();
      person.name = "peter";
      alert(person.name);
 </script>

使用对象字面量的表示方法。

var dog = {
        name:"kity",
        age:3,
        eye:bigEyes
      };

这种创建方法,由一对花括号开始,前面是变量名,后面是冒号,再是属性值,可以有多个属性,但是每个属性之间必须使用逗号分隔,最后一个属性一般是不加逗号的。其中属性名也可以是字符串。如果花括号里面不写东西,那么只可以定义包含默认属性和方法的对象。

一般来说,访问对象属性使用点表示法,在javascript中使用方括号[]来访问对象的属性。在使用[]时,应该将要访问的属性以字符串的形式放在[]中。

 alert(person["name"]);
    alert(person.name);

前者可以通过变量访问属性。
如果属性名中包含会导致语法错误的字符,属性名使用的是关键字或保留字,也可以使用方括号。
除非必须使用变量来访问属性,否则我们建议使用点表示法。

3.Array类型
javascript中的数组是有序列表,它可以保存任意类型的数据,这是和其他语言数组的最大区别,而且它的数组的大小是可以动态调整的。
(1)创建数组的基本方式:
使用Array构造函数,可以给他传值(数组的大小或者数组的内容)

 var student = new Array();
  var student = new Array(10);
  var student = new Array("peter","merry","bob");

(2)使用数组字面量的表示方法,数组字面量由一对包含数组项的方括号表示,多个数组之间用逗号隔开。
(3)在读取和设置数组的值时,使用方括号和对应值基于0的数字索引。
数组的长度保存在length属性中,这个属性值可以返回0或者更大的数值。可以通过设置length属性的值,从数组的末尾删除或者增加新的项。

 var colors = ["red","blue","green"];
  colors.length = 2;//数组长度变成了2,green被移除
  alert(colors[2]);//此时访问会返回undefined,alert(colors[1]);会返回blue

如果将Length属性设置为大于数组项目的值,则新增的每一项都会返回undefined值。

 var colors = ["red","blue","green"];
  colors.length = 5;
  alert(colors[4]);

利用length属性在数组末尾增加项。

 var colors = ["red","blue","green"];
  alert(colors[colors.length]="black");

(4)数组最多可以包含4294967295个项
(5)检测数组
使用Array.isArray()方法,它可以最终确定该值是不是数组,而且不管他是在哪个全局执行环境中创建的。

 if(Array.isArray){
    //operates
  }

(6)转换方法
所有对象都具有toLocaleString(),toString()和valueOf()方法,其中,调用数组的toString()方法会返回由数组中每个值得字符串形式拼接而成的一个以逗号分隔的字符串。valueOf()会返回数组。
当调用toLocaleString()方法时,会创建一个数组值得以逗号分隔的字符串,与前面的不同是,为了取得每一项的值,调用的是每一项的toLocaleString()方法,而不是toString()方法。

<script type="text/javascript">
      var person1 = {
        toString : function(){
          return "peter";
        },
        toLocaleString :function(){
          return "mary";
        }
      };
      var person2 = {
        toString: function(){
          return "26";
        },
        toLocaleString:function(){
          return "18";
        }
      };
      var person = [person1,person2];
      alert(person);
      alert(person.toString());
      alert(person.toLocaleString());
    </script>

使用join()方法可以用不同的分隔符来构建这个字符串,join()方法只接收一个参数,用作分隔符的字符串,然后返回包含所有数组项的字符串。如果不给join()方法传入任何值,或者传入undefined,使用逗号作为分隔符。如果数组中的某一项的值是null或undefined,那么该值在join(),toString(),toLocaleString()和valueOf()方法返回的结果中以空字符串表示。

<script type="text/javascript">
      var person1 = {
        toString : function(){
          return "peter";
        },
        toLocaleString :function(){
          return "mary";
        }
      };
      var person2 = {
        toString: function(){
          return "26";
        },
        toLocaleString:function(){
          return "18";
        }
      };
      var person = [person1,person2];
      alert(person);
      alert(person.toString());
      alert(person.toLocaleString());
      alert(person.join("*"));
      alert(person.join("--"));
    </script>

(7)栈方法
栈就是数据结构中的栈,他的特点就是先进后出,而且所有的操作只发生在栈顶,javascript提供了push()和pop()方法,可以实现类似于栈的行为。
push()可以接收任意数量的参数,并且逐个添加到数组的末尾,并返回修改后数组的长度。
pop()方法可以从数组末尾移除最后一项,减少数组的lengthh值,然后返回移除的顶。
(8)队列方法
队列的数据结构特点是先进先出,队列在列表末端添加项,从列表的前端移除项。
push()可以向数组的末端添加项,shift()可以移除数组中的第一个项,并返回该项,数组长度减1;unshift()可以在数组前端添加任意个项并返回新数组的长度。
(9)重排序方法
reverse()会反转数组的顺序
默认情况下,sort()按照升序排列数组项(最小值位于最前面,最大值位于最后面,为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,来确定如何排序)。sort()可以接收一个比较函数作为参数,比较函数接收两个参数,如果第一个参数应该位于第二个之前,返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个之后返回一个正数。
reverse()和sort()方法的返回值都是经过排序之后的数组。
(10)操作方法
concat()可以基于当前数组中的所有项创建一个新数组。
slice()可以基于当前数组中一个或多个项创建一个新数组,slice()可以接收一个或两个参数,要返回项的起始和结束位置,。参数为一个时,会返回该参数指定位置开始到当前数组末尾的所有项;如果有两个参数,返回起始和结束位置之间的项,但是不包括结束位置的项。
splice()方法:主要用于向数组的中部插入项
删除:可以删除任意数量的项,只需要指定2个参数,要删除的第一项的位置和要删除的项数。
插入:可以向指定位置插入任意数量的项,只需提供三个参数,起始位置和0和要插入的项。
替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定3个参数,起始位置,要删除的项数和要插入的任意数量的项,插入项数不必与删除的项数相等。
splice()总会返回一个数组,该数组中包含从原始数组中删除的项(如果没有删除任何项,则返回一个空数组)。
(11)位置方法
这两个方法都可以接收两个参数,要查找的项和表示查找起点位置的索引,都返回要查找的项在数组中的位置,或在没有找到的情况下返回-1,在比较第一个参数与数组中的每一项时,会使用全等操作符,要查找的项必须严格相等。
indexOf():从数组的开头开始向后查找
lastIndexOf():从数组的末尾开始向前查找。
(12)迭代方法
javascript为数组提供了5个迭代方法,每个方法都接收两个参数:要在每一项运行的函数和(可选的)作用域对象(影响this的值),传入这些方法中的函数会接收三个参数:数组项的值,该数组中的位置和数组对象本身。
every():对数组中每一项运行给定函数,如果该函数对每一项都返回true,则返回true.
filter():对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组
forEach():对数组中每一项运行给定函数,这个方法没有返回值
map():对数组中每一项运行给定函数,返回每次函数调用的结果组成的数组
some():对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true.
上面的方法都不会修改数组中的包含值。
every()和sum()都用于查询数组中的项是否满足某个条件
(13)缩小方法
下面的两个方法都会迭代数组的所有项,然后构建一个最终返回的值。都接收两个参数:一个在每一项上调用函数和(可选的)作为缩小基础的初始值。传给这两个方法接收4个参数:前一个值,当前值,项的索引和数组对象。这个函数返回的任何值都会作为第一个参数自动传给下一项,第一次迭代发生在数组的第二项上,因此第一个参数是数组的第一项,第二个参数是数组的第二项。
reduce():从数组的第一项开始,逐个遍历到最后。可以执行求数组中所有值得和的操作。

<script type="text/javascript">
      var values=[1,2,3,4,5];
      var sum = values.reduce(function(prev,cur,index,array){
        return prev + cur;
      });
      alert(sum);
  </script>

reduceRight():从数组最后一项开始,向前遍历到第一项。可以执行求数组中所有值得和的操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
数据类型
,以便于您获取更多的相关知识。

时间: 2024-10-30 10:38:12

JavaScript数据类型学习笔记分享_javascript技巧的相关文章

Bootstrap教程JS插件滚动监听学习笔记分享_javascript技巧

本文主要来学习一下JavaScript插件--滚动监听. 1.案例 滚动监听插件可以根据滚动条的位置自动更新所对应的导航标记.你可以试试滚动这个页面,看看左侧导航的变化. 先把实现的代码上了,你可以通过测试代码先来看看效果. <!DOCTYPE html> <html> <head> <title>Bootstrap</title> <meta name="viewport" content="width=de

javascript高级学习笔记整理_javascript技巧

一.js面向对象的一种实现 复制代码 代码如下: <script type="text/javascript"> function Person() { this.name = "张三"; this.age = 0; var nickName = "小三"; //类似私有变量,函数中的局部变量在函数执行完后自动销毁. this.SayHi = function () { alert("我的名字是" + this.n

Bootstrap开关(switch)控件学习笔记分享_javascript技巧

bootstrap-switch插件是一个针对Bootstrap实现的开关(switch)按钮控件,可以支持尺寸.颜色等属性的自定义.开关式按钮在国内网站上使用的并不是很多,Bootstrap 的应用在国外非常流行,不知道是我们不喜欢还是使用它很麻烦很难适合网站来使用.但这种开头式按钮在手机等移动设备上的应用是最广泛的,屏幕的特性促使它更好的发展. 功能说明: 介绍chekbox与radio的两个表单的简单使用,其他更多的效果与功能可以浏览demo,点击按钮以滑动的方式进行on/off切换. 使

JavaScript DOM 学习总结(五)_javascript技巧

1.DOM简介. 当页面加载时,浏览器会创建页面的文档对象模型(Document Object Model).文档对象模型定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构,即节点树.通过DOM,JS可创建动态的HTML,可以使网页显示动态效果并实现与用户的交互功能.JS能够改变页面中所有的HTML元素.属性和CSS样式,并对页面中所有事件做出响应.所以学习JS的起点就是处理网页,处理网页就需要使用DOM进行操作. 2.DOM获取元素. JS要想操作H

一波JavaScript日期判断脚本分享_javascript技巧

1.比较两个日期先后 var x = new Date('2015-05-25'); var y = new Date('2015-05-25'); if (x.getTime() == y.getTime()) { It'll be true; } 2.是否在两个日期之间   var beforeSpringDate, afterSpringDate; for (var i = 0; i < springFestivalDays.length; i++) { beforeSpringDate

5分钟理解JavaScript中this用法分享_javascript技巧

前言关于JavaScript中this的用法网络中已经有较多比较详尽的介绍,可以参考本文的参考学习资料和网络.本文结合网络收集整理,尝试以一种简易的方式阐述JavaScript中this的用法,希望对大家关于JavaScript中this用法的快速理解有所帮助.正文1. this用法实例 复制代码 代码如下: window.color = "red"; var o = { color: "blue" }; function sayColor(){     alert

JavaScript数据类型学习笔记详解

这里仅讲解5中简单数据类型,Function 和 Object 将在后续章节中讲解. 种基本数据类型 Number 数字类型 String 字符串类型 Boolean 布尔类型 Undefined 表示一个变量未被赋值 Null 空的对象 Number类型 Number 类型用来表示整数和浮点数.例如: var x=100;Number 类型还有一个特殊值 NaN(非数值 Not a Number). NaN 用于表示一个本来要返回数值的操作并未返回数值,这样就不会抛出错误了. String类型

javascript常用的方法分享_javascript技巧

针对现在大家平时开发中,都会写一些重复性的js处理代码,今天总结了几个比较常用的方法实现.获取get请求参数.去字符串空格. 1.获取get请求中的参数 Js代码  function getPara(para){ if(location.href.indexOf("?") == -1){ // 没有参数,则Do nothing. return null; } else{ // 取得GET请求?号后面的字符串 var urlQuery = location.href.split(&quo

javascript原生ajax写法分享_javascript技巧

ajax:一种请求数据的方式,不需要刷新整个页面: ajax的技术核心是 XMLHttpRequest 对象: ajax 请求过程:创建 XMLHttpRequest 对象.连接服务器.发送请求.接收响应数据: /** * 得到ajax对象 */ function getajaxHttp() { var xmlHttp; try { //chrome, Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e)