JS分两种数据类型,你都知道吗?
大牛请无视此篇!
JS主要分基本数据类型和引用数据类型,这两者区别可大了,此篇看完必有长进,下面进入正题
首先我们看下什么是基本数据类型(概念我就不说了,直接上代码):
var i = 10;
var x = 11;
var y = ‘lemon’
var z = ‘柠檬’
这些最基本的就是基本数据类型了,下面看下什么是引用数据类型:
var arr = [1,2,3,4,5];
var arr = ['lemon1','lemon2','lemon3'];
var obj = {
name:'lemon',
age:'18'
}
像这些数组,对象都是引用数据类型。
下面我们来说下两者的区别吧
首先看两个简单的小测试:
//基本数据类型
var i = 1;
var n = i;
n = 10;
console.log(i);
//引用数据类型
var arr1 = [1,2,3,4,5];
var arr2 = arr1;
arr2[0] = 10;
console.log(arr1[0])
此时 i 是多少,arr1[0]又是多少?
想必很多人一眼就看出 i 多少了,不就是1么,没错,那arr[0],是多少呢?
此时arr1[0]就变成10了,这就是引用数据类型与基本数据类型的区别,下面我就用我最熟练的普通话来为大家简单讲解一下:
其实基本数据类型中i与n直接没有任何关系,当然,n改变不会影响到i;但是在引用数据类型中arr1只是指向数组或者是对象的,就是获取到这个数组(或对象)的在内存空间的地址,就像我们的门牌号差不多,当arr2 = arr1 的时候,也就是arr2也指向了这个数组,其中指向这个数组的任何一个变化,其内存空间中的值就会发生变化,当然,所有指向这个数组的也就都会发生变化咯!
学到东西记得点下关注哟!
JS分两种数据类型,你都知道吗?的更多相关文章
- js的两种数据类型
js中的数据类型总体来说分为两种,他们分别是: 1 值类型(基本类型):数值型(Number),字符类型(String),布尔值型(Boolean),null 和 underfined 2 引用类型( ...
- 【面试题】JS第七种数据类型Symbol详解
JS第七种数据类型Symbol详解 点击打开视频讲解更加详细 一.什么是Symbol? Symbol是ES6中引入的一种新的基本数据类型,用于表示一个独一无二的值.它是JavaScript中的第 七种 ...
- 关于js中两种定时器的设置及清除
1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法 ...
- 关于js中两种定时器的设置及清除(转载)
1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法 ...
- 实验long raw 和 blob两种数据类型遇到dblink的表现
首先long raw从Oracle 10g开始就不再被建议使用,建议用blob代替.同理,long建议用clob代替. 本文从运维角度实验long raw 和 blob两种数据类型在遇到dblink时 ...
- MyEclipse取消验证Js的两种方法
MyEclipse取消验证Js的两种方法 作者: 字体:[增加 减小] 类型:转载 通过js写一个web工程的相关页面时感觉很卡,修改内存也不行下面有两种解决方法,大家可以尝试下 前言:有时我们通过j ...
- linux安装mysql服务分两种安装方法:
linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度 ...
- iOS8以后UIAlertView和UIActionSheet两种alert页面都将通过UIAlertController来创建
1. Important: UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated. ...
- JS中有两种自加法操作
JS中有两种自加法操作.它们的运算符是++,它们的函数是向1添加运算符. 我和我的区别在于操作的顺序和组合的方向. 其中:++var被称为预自动添加,变量执行自动添加操作后.它的操作是先执行自动加法操 ...
随机推荐
- 使用Python脚本操作MongoDB的教程
Reference: http://www.jb51.net/article/64225.htm
- Newman的 power law 参数估计的程序matlab(转载)
转自:http://blog.sciencenet.cn/blog-4716-46173.html 对于幂率分布的估计问题是个很复杂的问题(..., the empirical detection a ...
- php防止重复提交表单
解决方案一:引入cookie机制来解决 提交页面代码如下a.php代码如下: <form id="form1" name="form1" method=& ...
- Angular - - ngRoute Angular自带的路由
ngRoute $routeProvider 配置路由的时候使用. 方法: when(path,route); 在$route服务里添加一个新的路由. path:该路由的路径. route:路由映射信 ...
- sqlloader外部表
一创建目录 先在系统下创建 $ cd /home/oracle $ mkdir dir $ cd dir $ pwd 再在sqlplus里创建,让oracle知道这个目录 SQL> create ...
- loadrunner controller:集合点策略
集合点只有在多用户并发运行的时候才能体现它的作用. Scenario ---> Rendezvous 打开集合点设置界面,如下图所示: 我们可以看到Vusers 列表框里有两个用户,这与我们设置 ...
- 触摸滑动插件 Swiper
Swiper Swiper 是纯javascript打造的滑动特效插件,面向手机.平板电脑等移动终端. Swiper中文网里已有详细的使用介绍,我就不多做介绍了. http://www.swiper ...
- Codeforces374A
A. Inna and Pink Pony time limit per test1 second memory limit per test 256 megabytes input standard ...
- HDU5916
Harmonic Value Description Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Ja ...
- 【python基础】 Tkinter 之 几何管理器
Tkinter支持三种几何管理器:网格管理器,包管理器,位置管理器 提示:由于每个管理器都有自己放置小构件的风格,最好不要在同一个容器中的小构件使用多个管理器.可以使用框架作为子容器以获取期望的布局. ...