再谈Javascript中的基本类型和引用类型(推荐)

 更新时间:2016年07月01日 11:35:46   作者:fareise  
这篇文章主要介绍了Javascript中的基本类型和引用类型的相关资料,包括基本类型和引用类型的概念及区别,数据类型检测给大家详细介绍了js基本类型和引用类型,非常不错,需要的朋友可以参考下

一、基本类型和引用类型概述

js中数据类型的值包括:基本类型值和引用类型值

基本数据类型:undefined;null;boolean;number;string

引用类型值:保存在内存中,js不允许直接访问内存位置,因此时操作引用而不是实际对象

二、如何检测数据类型

1.基本数据类型的检测:使用typeof

var s = “AAA”; 
alert(typeof s); //返回string

2.引用类型(对象类型)检测:使用instanceof

alert(person instanceof Object); 
alert(person instanceof Array); 
alert(person instanceof Regexp);

3.特殊情况:instanceof检测object始终返回true,检测基本类型的时候始终返回false(因为基本类型不是对象)

typeof检测函数时返回Function,检测正则表达式时返回Object

三、基本类型和引用类型的区别

1.引用类型可以添加属性,基本类型不可以

2.复制时,基本类型是直接复制了一个新的变量,新旧两个变量之间没有关系;

引用类型也复制了新的变量,但这个变量是一个指针,新旧两个指针指向同一个对象

3.函数的参数传递:所有的参数传递原理都是将外部的变量通过复制的方式传递给函数的参数。因此,函数内部对参数的操作对外部原变量无影响

下面分别以参数为基本类型和引用类型为例进行验证:

function addTen(num){ 
num += 10; 
return num; 
} 
var count = 20; 
var result = addTen(count); 
//这里内部对num的操作不会影响外部count的值 
function setName(obj){ 
obj.name = “Nicholas”; 
obj = new Object(); 
obj.name = “Greg”; 
} 
var person = new Object(); 
setName(person); 
alert(person.name); //返回”Nicholas”,说明仍然不影响外部的person对象的name

以上所述是小编给大家介绍的再谈Javascript中的基本类型和引用类型(推荐) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • javascript结合canvas实现图片旋转效果

    javascript结合canvas实现图片旋转效果

    图片的旋转可以说是一种效果,但是逐渐旋转已经不单单是属于视觉效果那个范畴,其更具有使用性,功能性。照片有时候是需要横过来的拍的,当我们预览或共享到web上时需要进行旋转。这个操作在以往可能更多的是交给软件去完成,然后再将旋转到正常角度的图片发布到web上。
    2015-05-05
  • 微信小程序实现左右联动

    微信小程序实现左右联动

    这篇文章主要为大家详细介绍了微信小程序实现左右联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • js数组反转的几种常见方法举例

    js数组反转的几种常见方法举例

    最近学到了数组的使用方法,给大家分享一下,这篇文章主要给大家介绍了关于js数组反转的几种常见方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 通过示例彻底搞懂js闭包

    通过示例彻底搞懂js闭包

    下面小编就为大家带来一篇通过示例彻底搞懂js闭包。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 详解js的作用域、预解析机制

    详解js的作用域、预解析机制

    本篇文章主要给大家详细分析了js的作用域、预解析机制以及相关代码分析,对此感兴趣的朋友学习下吧。
    2018-02-02
  • 深入了解javascript 数组的sort方法

    深入了解javascript 数组的sort方法

    在javascript中,数组对象有一个有趣的方法sort,它接收一个类型为函数的参数作为排序的依据。这意味着开发者只需要关注如何比较两个值的大小,而不用管排序这件事内部是如何实现的
    2018-06-06
  • 微信小程序子组件向父组件传值的两种方法

    微信小程序子组件向父组件传值的两种方法

    本文介绍了微信小程序中子组件向父组件传值的两种方法,这两种方法都能有效地实现子组件向父组件的数据传递,对于开发微信小程序的开发者来说,掌握这些技巧非常重要,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • js实现按钮颜色渐变动画效果

    js实现按钮颜色渐变动画效果

    这篇文章主要介绍了js实现按钮颜色渐变动画效果的方法,涉及javascript鼠标事件及页面表单元素样式的动态操作技巧,需要的朋友可以参考下
    2015-08-08
  • 在layui框架中select下拉框监听更改事件的例子

    在layui框架中select下拉框监听更改事件的例子

    今天小编就为大家分享一篇在layui框架中select下拉框监听更改事件的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • json中换行符的处理方法示例介绍

    json中换行符的处理方法示例介绍

    json经常使用,但如果字段中出现换行符如何处理,测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单
    2014-06-06

最新评论