JavaScript入门教程之引用类型

 更新时间:2016年05月04日 14:34:55   作者:语折  
引用类型是一种数据结构,用于将数据和功能组织在一起。这篇文章主要介绍了JavaScript入门教程之引用类型的相关资料,需要的朋友一起学习吧

引用类型

引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管 ECMAScript从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

前面提到过,引用类型的值便是对象,在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起,而对象则是某个特定引用类型的实例。

var a=new Object(); 

  上面便声明了一个引用类型为Object的实例,并将这个实例存储到变量a中,也就是说这个变量实际是并不是包含了这个实例本身,而是指向这个实例的指针。

  对于Object类型,常用对象字面量表示法来创建实例 既var a={name:"Nick",age:20}这样做的优点是给人封装的感觉。而对象的访问则是使用了点表示法或者方括号表示法。a.name等价于a["name"],注意此处的"name"是以字符串表示的。

  对于Array类型,则可以使用数组字面量表示法。

    对于Array类型,可以使用length来改变数组的长度。(从数组的末尾添加或者移除项)

    检测数组的方法是Array.isArray(value)方法

    转换方法:toString()转换成以“,”分割各项的一个字符串。valueOf(),返回的依旧是数组。toLocaleString()可以用下例实现。

var p1={
toString:function(){return "guo";},
toLocaleString:function(){return "yuzhe";}
}
var p2={
toString:function(){return "song";},
toLocaleString:function(){return "hap";}
}
var p=[p1,p2];
alert(p); //guo,song
alert(p.toLocaleString()); //yuzhe,hap 

可见 alert在输出前先调用了toString()方法,此外还有join()方法,用于以指定的符号返回成字符串 ,其默认的(不设置参数)为“,”。

    栈方法:push()在末尾添加项,返回数组长度。pop()在末尾删除项,返回删除项。

    队列方法:shift()溢出数组第一项,返回该项。unshift()在首段添加项,返回数组长度。

    重排序方法(返回值为数组):

        reverse()反转顺序。a[length-1]=a[0]

        sort()升序排序法 默认的sort()是以ASCII排序的,而非我们认为的数字大小,所以比较大小需要这样使用

function compare(no1,no2){
if(no1<no2){
return -1;}
else if(no1>no2){
return 1;}
else{
return 0;} 
}
var a=[1,2,3,4,6,5];
a.sort(compare);
alert(a)

若想产生降序效果,只需反转if语句。

    操作方法:

        concat()创建了一个副本,对原数组无影响,作用是添加接受的参数到数组的末尾。

        slice()创建一个副本,接受1或者2个参数(返回项的起始和结束位置,不包含结束位置),在只有一个参数的情况下,返回从指定位置到结尾所有项。如果参数为负数,则结果为length+arguments,若结束位置小于起始位置,则返回空数组。

        splice():1.删除方法--指定两个参数,删除的第一项的位置和删除的项数。

            2.插入方法--指定三个参数,起始位置,0(要删除的个数),要插入的项。

            3.替换方法--指定三个参数,起始位置,删除的个数,要插入的项

            插入/替换的位置是起始位置。

    位置方法:

        indexOf()返回要查找的项的数组下表,没有则返回-1.参数:要查找的项和(可选的)查找起点位置的索引(下标)。

        lastIndexOf()是indexOf()的逆序。

    迭代方法:

        2个参数:要运行的函数和(可选的)的作用域,传入这些方法中的函数需要有三个参数(item(数组项的值),index(该项的位置),array(数组对象本身)).

        every()对数组中的每一项运行给定函数,每一项都返回ture 则返回true

        filter()返回会返回true的项组成的数组

        forEach()对每一项运行给定函数,无返回值

        map()返回每次函数执行结果组成的数组

        some()若有一项为true,则返回true

<script>
var a=[1,2,3,4];
var b=a.every(function(item,index,array){
return item>2;
});
alert(b); //false
</script>

    归并方法:

        reduce()从数字第一项开始遍历,reduceRight()从数组最后一项开始遍历

        使用reduce()来求数组中的所有和      

<script>
var a=[1,2,3,4];
var b=a.reduce(function(prve,cur,index,array){
return prve+cur;
});
alert(b); //10

第一次执行时,prev为1,cur为2 ,第二次执行时,prev为3,cur为3。

以上所述是小编给大家介绍的JavaScript入门教程之引用类型的相关内容,希望对大家有所帮助!

相关文章

  • js获取checkbox复选框选中的选项实例

    js获取checkbox复选框选中的选项实例

    这篇文章主要介绍了js如何获取checkbox复选框选中的选项,比较适合新手,需要的朋友可以参考下
    2014-08-08
  • 新鲜出炉的js tips提示效果

    新鲜出炉的js tips提示效果

    提示不难做,那个三角号样式很难调兼容,死了好多脑细胞预览主窗口提示错位,保存本地测比较好。
    2011-04-04
  • 微信小程序实现走马灯效果实例

    微信小程序实现走马灯效果实例

    这篇文章主要给大家介绍了关于微信小程序实现走马灯效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 基于Javascript实现文件实时加载进度的方法

    基于Javascript实现文件实时加载进度的方法

    不知道大家有没有发现在现在的移动页面上,有很多情况需要加载大量的资源。但是移动端的访问速度和pc还是有很大的差距,有些时候需要一些取巧的方式来提升用户体验,而实时显示加载进度就是其中一种。这篇文章就给大家分享了Javascript实现文件实时加载进度的方法。
    2016-10-10
  • 微信小程序webview与h5通过postMessage实现实时通讯的实现

    微信小程序webview与h5通过postMessage实现实时通讯的实现

    这篇文章主要介绍了微信小程序webview与h5通过postMessage实现实时通讯的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • js防止页面被iframe调用的方法

    js防止页面被iframe调用的方法

    这篇文章主要介绍了js防止页面被iframe调用的方法,可防止页面被别的网站iframe调用,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • JavaScript常用脚本汇总(三)

    JavaScript常用脚本汇总(三)

    本文给大家分享的常用脚本有通过数组,拓展字符串拼接容易导致性能的问题、页面 视口 滚动条的位置的辅助函数、调节元素透明度的函数、获取鼠标位置的几个通用的函数、使用cssdisplay属性来切换元素可见性的一组函数、样式相关的通用函数、获取元素当前的高度和宽度。
    2015-03-03
  • layui select动态添加option的实例

    layui select动态添加option的实例

    下面小编就为大家分享一篇layui select动态添加option的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 微信小程序上传图片并等比列压缩到指定大小的实例代码

    微信小程序上传图片并等比列压缩到指定大小的实例代码

    这篇文章主要介绍了微信小程序 上传图片并等比列压缩到指定大小,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法

    谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法

    发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向。本篇文章通过实例给大家介绍基于iframe/FormData/FileReader三种无刷新上传文件的方法,感兴趣的朋友一起学习吧
    2015-12-12

最新评论