来自 计算机网络 2019-09-04 19:50 的文章
当前位置: 六合联盟网 > 计算机网络 > 正文

JavaScript基本数据类型及值类型和引用类型,Jav

在JavaScript中八种为主的数据类型:数值(整数和实数)、字符串型(用“”号或‘'括起来的字符或数值)、布尔型(使True或False表示)和空值。在JavaScript的焦点类型中的数据可以是常量,也得以变量。由于JavaScript选择弱类型的样式,由此贰个数码的变量或常量不必首先作注明,而是在应用或赋值时规定其数量的花色的。当然也得以先注明该多少的档案的次序,它是因此在赋值时自动表达其数据类型的。

翻阅目录

javascript中的变量

  1. 1.1前言
  2. 2.1 javascript中的变量
  3. 3.1 简单数据类型

      javascript中的变量只是贰个占位符,前言已经说过了,因为松散类型的原故。 

   3.1.1.  typeof 操作符

概念变量:

   3.1.2.  Undefined 类型

var name;

   3.1.3.  Null 类型

上述代码定义了三个名叫name的变量,该变量能够用来保存任何值(像这样未通过开始化的变量,会保留二个新鲜的值--undefined),也得以开端化变量的值,

   3.1.4.  Boolean 类型

var name =”jwy”; //javascript 中的单引号和双引号没有区别,不过要注意正确嵌套
name=10;

   3.1.5.  Number 类型

一最初name开始化成了字符串值“jwy”,后又改成了数字值—100,这种做法是不提出的,不过在ECMAScript是有意义的,况且在无数时候会如此做。

   3.1.6.  String类型

也足以一条语句定义七个变量,何况相当的多javascript框架是如此做的

   3.1.7.  Object 类型

var name=”jwy”,author,age=29;

   4.结束语

每条语句加分号是很好的编制程序习于旧贯。不过一条三个变量时,提议换行和缩进,那样能够增加可读性。

   5.参考文书档案

粗略数据类型

 

      ECMAScript中有5种简单数据类型:Undefined,Null,Boolea,Number和String。还会有一种复杂数据类型—Object

前言

typeof操作符

      大家平时能够看来javascript中的一些数据类型,举例“undefined”、“boolean”、“string”等等,然则ECMAScipt中的变量又是松散花色的,所谓松散类型正是能够用来保存任何项目标数量。所以javascript中用var关键字来定义变量,所以不可能明确变量一定会蕴藏什么值,也就不知道变量到底会是怎么项目,因为能够每一天变动变量的品类。明日那篇作品就和我们齐声来上学javascript中的类型,那个主题素材就算简易,不过依旧有相当多童鞋在不知凡几时候不能真正掌握它,在这之中不正确的地点请我们建议来,共同学习,共同进步。 

      由于Javascript中的变量是安枕而卧类型的,所以它提供了一种检查测量检验当前变量的数据类型的办法,也正是typeof关键字,在地点提到的ECMAScript中的5种简单数据类型中,(记住,这5种只是数据类型,代表一种数据类型,就想C#中的int,string类型一样),通过typeof关键字,对那5种数据类型会回到下边包车型大巴值(以字符串情势显得

javascript中的变量

“undefined”    ----------   即使值未定义                       Undefined

      javascript中的变量只是三个占位符,前言已经说过了,因为松散类型的来头。  定义变量:

“boolean”      ----------     假诺这些值是布尔值              Boolean

var name;

“string”        ----------     假诺那几个值是字符串              String

上述代码定义了三个名叫name的变量,该变量能够用来保存任何值(像那样未通过开头化的变量,会保留二个特殊的值--undefined),也得以早先化变量的值,

“number”      ----------     假设那一个值是数值类型           Number

var name =”jwy”; //javascript中的单引号和双引号没有区别,不过要注意正确嵌套
name=10;

“object”        ----------     假使这几个值是目标或null        Object

复制代码

“function”       ----------     假使这些值是函数                 Function

一起初name最早化成了字符串值“jwy”,后又改成了数字值—100,这种做法是不提出的,然则在ECMAScript是有功效的,况兼在重重时候会如此做。

唯独严酷来讲,函数在ECMAScript中是指标,每个函数都以Function这些类的一个实例,既然函数是八个对象,那么它相当于八个援用类型了,所以七个函数只是叁个变量名而已,由此,在数不尽场地常常能够看到,将函数名作为参数,传进函数中,然后实行调用,那就恍如于C#中的委托,在后头会详细的上课函数那么些东西,究竟Javascript中有的是事物都重视于函数来促成。

也得以一条语句定义八个变量,并且大多javascript框架是这么做的

Undefined 类型

var name=”jwy”,author,age=29;

      上边说了,5种等级次序是数据类型,所以数据类型是有值的,Undefined的值正是undefined,注意,是u是小写的。假若注明变量却未曾开头化,则当前变量的值就是undefined。不过,一般提议尽量给变量早先化,可是在最先的Javascript版本中是未有规定undefined这些值的,所以在稍微框架中为了合作旧版浏览器,会给window对象增加undefined值,如下:

每条语句加分号是很好的编制程序习于旧贯。但是一条八个变量时,提议换行和缩进,那样能够进步可读性。

window['undefined'] = window['undefined']; 
//或者
window.undefined = window.undefined; 

总结数据类型

简言之的说正是给window对象的undefined属性赋上undefined,在较老的浏览器对象并不曾undefined这本天性,所以要是应用到undefined的操作将会促成畸形,故采纳那样的措施,但是一同首看会有一些难知晓,在旧版本的浏览器中会因为尚未window.undefined这几个指标而回到二个undefined值,所以这么做能够相称旧浏览器。

      ECMAScript中有5种简易数据类型:Undefined,Null,Boolea,Number和String。还应该有一种复杂数据类型—Object

但是包罗undefined值的变量与未定义的变量是不均等的,如:

typeof操作符

var name;
alert(name);//undefined
alert(age);// 错误:age is not defined

      由于Javascript中的变量是安枕无忧类型的,所以它提供了一种检测当前变量的数据类型的点子,也便是typeof关键字,在上面提到的ECMAScript中的5种轻便数据类型中,(记住,那5种只是数据类型,代表一种数据类型,就想C#中的int,string类型同样),通过typeof关键字,对这5种数据类型会回到上面包车型大巴值(以字符串方式显示

还没表明过的变量只好施行一项操作,别的全都不能够做,就是应用typeof操作符检验其数据类型。

“undefined”    ----------   假诺值未定义                       Undefined

设若任由注解过未开始化以及未证明过的变量施行typeof都以重返undefined的值。二种变来那多少个都不可能试行真正的操作

“boolean”      ----------     如若那么些值是布尔值              Boolean

Null类型

“string”        ----------     就算那一个值是字符串              String

      Null类型的值是null,它象征一个空对象指针,未有对准任何对象,假使二个变量的值是null,那当前变量很有望就是渣滓搜罗的对象,使用typeof监测null值时会重临”object”,

“number”      ----------     倘诺这些值是数值类型           Number

var person = null;
alert(typeof person);//”object”

“object”        ----------     假如这些值是指标或null        Object

提出:借使变量是要用以保存对象的额,则开首化为null,那样到时就足以检查实验该变量是或不是曾经保存了五个目的的引用的,

“function”       ----------     假设这么些值是函数                 Function

注意:undefined值是派生自null的,所以对她们试行相等测量试验会回来true,如:

不过严苛来说,函数在ECMAScript中是指标,各种函数都以Function那个类的三个实例,既然函数是贰个对象,那么它也便是贰个援引类型了,所以多个函数只是贰个变量名而已,由此,在大多场合平日能够观望,将函数名作为参数,传进函数中,然后举办调用,那就像是于C#中的委托,在后头会详细的上课函数这些事物,毕竟Javascript中相当多事物都依靠于函数来促成。

alert(null == undefind);//true

Undefined 类型

就算,不过她们用途完全两样,无论在哪些动静下都没须求将三个变量的值呈现设为undefined,可是那个准则对null却不适用。

      上边说了,5体系型是数据类型,所以数据类型是有值的,Undefined的值就是undefined,注意,是u是小写的。假若申明变量却从未初阶化,则当前变量的值正是undefined。可是,一般建议尽量给变量伊始化,不过在开始的一段时代的Javascript版本中是从未有过鲜明undefined那一个值的,所以在有一点点框架中为了协作旧版浏览器,会给window对象增多undefined值,如下:

Boolean类型

window['undefined'] = window['undefined'];  
//或者
window.undefined = window.undefined;  

      这几个种类独有八个值:true 和false。就算只有四个值,不过javascript中保有类型的值都有与那四个值等价的值。要将贰个值调换为对应的Boolean值,能够调用转型函数Boolean()  (其实Boolean ,Object,String,Number,Function等这么些都以四个函数,构造函数,相同也足以精晓为两个类,用项目调用toString()方法会重回那样的事物:

复制代码

"function Function() { [native code] }"  ,Function会相应的改动各自的可怜调用函数   )

粗略的说正是给window对象的undefined属性赋上undefined,在较老的浏览器对象并不曾undefined那么些天性,所以假如应用到undefined的操作将会促成畸形,故采纳那样的艺术,但是一早先看会有一些难知晓,在旧版本的浏览器中会因为尚未window.undefined那一个目的而回到三个undefined值,所以这么做可以相配旧浏览器。

实则在 if 语句剖断中,会对里面的基准自动试行Boolean变化的。

不过包罗undefined值的变量与未定义的变量是不平等的,如:

Number类型

var name;
alert(name);//undefined
alert(age);// 错误:age is not defined

      数值类型有相当多值,最中央的当然正是十进制啦,如:     

复制代码

var num=510;

还没评释过的变量只可以实行一项操作,其余全都不能够做,正是应用typeof操作符检查评定其数据类型。

而外十进制,整数还足以透过八进制或十六进制,个中八进制字票面价值第一人必需是0,然后是八进制数字系列,若是字面值中的数值高于了限制,那么前导零将被忽略。前面包车型地铁额数值将被当作十进制数深入分析。

即便任由证明过未起先化以及未申明过的变量施行typeof都以再次回到undefined的值。三种变来那多少个都不能够实行真正的操作

var num1=070;//八进制的56
var num2 =079;//无效的八进制—剖析为79
var num3 =08;// 无效的八进制—深入分析为8

Null类型

而十六进制前边则必需是0x,后跟十六进制数字(0~F),不分大小写。如:

      Null类型的值是null,它象征一个空对象指针,未有针对性任何对象,要是多个变量的值是null,这当前变量很有希望正是废物收罗的对象,使用typeof监测null值时会再次来到”object”,

var num1 = 0xA;
var num2 = 0x1f;
var person = null;
alert(typeof person);//”object”

尽管如此能够象征为八进制和十六进制,不过总计时会被调换到十进制值。

复制代码

除此之外整数,还应该有浮点数值,当然了,没有像其余强类型语言中的float之类的重要字了。

提议:假诺变量是要用于保存对象的额,则始于化为null,那样到时就足以检验该变量是或不是已经保存了三个对象的引用的,

var num1 = 1.1;
var num2 =0.1;
var num3 = .1;//有效,但不推荐

只顾:undefined值是派生自null的,所以对他们施行相等测量检验会回来true,如:

在保存整数时内部存储器分配大小唯有浮点数的一半,所以当浮点数能够调换为整数时,javascript会自行转变为整数。

alert(null == undefind);//true

自然了,除了那些数值一点都不大的,还应该有一点点高大或相当的小的数值,能够用科学计数法表示,

就算如此,可是她们用途完全两样,无论在怎样景况下都没须求将贰个变量的值呈现设为undefined,不过那个准则对null却不适用。

var num=123.456e10;

Boolean类型

浮点数值的万丈精度是18位小数,可是总括时其正确度远远比不上整数。举个例子,0.1+0.2不对等0.3,而是0.3000000000000004,所以在做判别时,千万不要用浮点数相加剖断等于预想中的有些值。

      这一个类型唯有八个值:true 和false。即便只有三个值,但是javascript中负有类型的值都有与那四个值等价的值。要将多少个值转变为对应的Boolean值,能够调用转型函数Boolean()  (其实Boolean ,Object,String,Number,Function等这么些都以三个函数,构造函数,同样也能够知道为三个类,用项目调用toString()方法会重返那样的东西:

在javascript中数值最小的是Number.MIN_VALUE,这里能够想像成Number是三个类,而MIN_VALUE 是一个静态变量,积攒最小值,同样,最大的是Number.MAX_VALUE。

"function Function() { [native code] }"  ,Function会相应的改换各自的要命调用函数   )

设若计算中中国足球球组织顶尖联赛出了这么些最大值和最小值范围,则将被机关转变来Infinity值,假诺是负数,正是-Infinity,整数正是Infinity,Infinity的乐趣是无穷,相当于正负无穷,跟数学中的概念是大同小异的。不过Infinity是不能够出席总计的。能够用原生函数分明是还是不是战国:isFinite();唯有位于数值范围内才会再次来到true。

实际上在 if 语句决断中,会对在那之中的标准化自动实施Boolean变化的。

在Javascript中数值除了那多少个普通的整数、浮点数、最大值、最小值、无穷之外呢,还会有几个特有的值,正是NaN。那个数值用于表示叁个当然要重临数值的操作数未归来数值的意况。比方,在C#中任何数值除以0都会报错,抛出特别,但是在Javascript中,任何数值除以0会回到Nan,因此不会影响代码的进行。

Number类型

NaN的特点:

      数值类型有广大值,最中央的当然便是十进制啦,如:      

1、任何安排NaN的操作(如:NaN/0)都会重回NaN.

var num=510;

2、NaN与其它值都不等于,满含NaN本人。如:

除去十进制,整数仍可以够通过八进制或十六进制,在那之中八进制字面值第一人必需是0,然后是八进制数字体系,假使字面值中的数值高于了限制,那么前导零将被忽略。后边的额数值将被视作十进制数解析。

alert(NaN == NaN);//false
var num1=070;//八进制的56
var num2 =079;//无效的八进制—解析为79
var num3 =08;// 无效的八进制—解析为8

于是Javascript中有三个isNaN()函数,那些函数接收一个参数,任意档期的顺序,它会帮我们分明这么些参数是还是不是”不是数值”。它会先品尝先讲那些值转为数值。假诺无法被调换为数值的值在调用这么些函数之后会回去true,即is  NaN 非数值。

复制代码

有关数值转换,那几个内容在Javascript中扩展开来又是一篇文章,不常光再整治理和整顿理。

而十六进制后面则必得是0x,后跟十六进制数字(0~F),不分大小写。如:

String类型

var num1 = 0xA;
var num2 = 0x1f;

字符串能够由单引号或双引号表示,在Javascript中那三种引号是等价的,如:

复制代码

var name = ‘jwy';
var author = “jwy”;

即使如此能够表示为八进制和十六进制,可是计算时会被转变到十进制值。

而是便是要留神科学嵌套。

除开整数,还恐怕有浮点数值,当然了,未有像另外强类型语言中的float之类的重要字了。

字符串能够直接用字面量赋值。任何字符串的长短都足以由此拜访气length属性得到。

var num1 = 1.1;
var num2 =0.1;
var num3 = .1;//有效,但不推荐

在Javascript中的字符串是不可变的,其实那跟C#中是同等的,(估量也是为着拉长品质),字符串一旦创制,他们的值就无法退换,要改成有些变量保存的字符串,首先要绝迹原本的字符串,然后再用另一个包括信纸的字符串填充该变量。

复制代码

var name=”jwy”;
name = “jwy”+” study javascript”;

在保留整数时内部存款和储蓄器分配大小唯有浮点数的四分之二,所以当浮点数能够转变为整数时,javascript会自行调换为整数。

此间一齐头name是保存字符串”jwy”的,第二行代码则将“jwy”+” study javascript”; 值重新赋给name,它先床架贰个能容纳那一个长度的新字符串,然后填充,销毁原本的字符串。

当然了,除了这几个数值相当小的,还会有局地硕大或相当的小的数值,能够用科学计数法表示,

差那么一点各类值都有和谐的toString()方法,在后头的稿子会分解那几个格局何地来的,它会重回相应值的字符串表现。

var num=123.456e10;
var age=11;
var ageToString =age.toString();//”11”

浮点数值的参天精度是17个人小数,可是总结时其正确度远远不比整数。比如,0.1+0.2不对等0.3,而是0.3000000000000004,所以在做推断时,千万不要用浮点数相加决断等于预想中的有个别值。

数值、布尔值、对象和字符串值都有toString(),然则null和undefined值未有这一个措施。

在javascript中数值最小的是Number.MIN_VALUE,这里能够想像成Number是一个类,而MIN_VALUE 是一个静态变量,储存最小值,一样,最大的是Number.MAX_VALUE。

貌似的话,调用toString()方法不必传递参数,然而,在调用数值的toString方法时,可以传递一个参数,用来内定要出口的数值的基数(看是要出口十进制、二进制、八进制、十六进制表示)

倘若计算中中国足球球组织一流联赛过了这几个最大值和最小值范围,则将被机关转变来Infinity值,固然是负数,正是-Infinity,整数正是Infinity,Infinity的意趣是无穷,也便是正负无穷,跟数学中的概念是一律的。可是Infinity是无力回天出席计算的。能够用原生函数鲜明是否西周:isFinite();独有位于数值范围内才会回来true。

鉴于null和undefined未有toString方法,在不清楚是或不是是这两个的气象下调用是会报错的,所以还会有一条路能够选,便是行使转型函数String(),它吧就足以选取任何项目标值转为字符串了,处理法规如下:

在Javascript中数值除了那七个平日的整数、浮点数、最大值、最小值、无穷之外呢,还会有叁个新鲜的值,便是NaN本条数值用于表示叁个理所必然要回去数值的操作数未再次回到数值的气象。比如,在C#中任何数值除以0都会报错,抛出极度,可是在Javascript中,任何数值除以0会回来Nan,因而不会影响代码的实践。

1、假设这些值有toString则一向调用,并回到结果

NaN的特点:

2、如果是null,则返回”null”

1、任何安排NaN的操作(如:NaN/0)都会回来NaN.

3、如果是unde,则返回”undefined”

2、NaN与别的值都不对等,包含NaN本人。如:

Object 类型

alert(NaN == NaN);//false

Object类型是Javascript引用类型的高祖了,(就跟在C#和Java中是同一的道理),在创制Object类型的实例后可感到其增加属性和艺术,

之所以Javascript中有一个isNaN()函数,那个函数接收三个参数,狂妄档案的次序,它会帮我们分明这几个参数是还是不是”不是数值”。它会先品尝先讲这几个值转为数值。假如不可能被转移为数值的值在调用那一个函数之后会再次来到true,即is  NaN 非数值。

var o = new Object;//有效,不推荐
var o =new Object();

有关数值转变,这几个内容在Javascript中扩张开来又是一篇文章,不时光再整治理和整顿理。

 在Javascript中,Object类型所独具的另外性质和办法也千篇一律存在于更切实的靶子中。

String类型

每种实例都有如下的习性和方式,如下:

字符串能够由单引号或双引号表示,在Javascript中那二种引号是等价的,如:

1、constructor ,保存着用于创设当前目的的函数。上边构造函数正是Object();

var name = ‘jwy’;
var author = “jwy”;

2、hasOwnProperty,用于检查给定的属性是或不是在此时此刻目的实例中,是就true,不是在实例中,而是在原型中,则是false;

复制代码

3、isPrototypeOf,用于检查传入的对象是或不是是另多少个对象的原型

但是就是要留神科学嵌套。

4、propertyIsEnumerable,用于检查给定的习性是或不是能够选拔for…in语句来枚举,

字符串能够直接用字面量赋值。任何字符串的尺寸都足以由此看望气length属性得到。

5、toString,重回对象的字符串表示

在Javascript中的字符串是不可变的,其实那跟C#中是一模二样的,(猜度也是为了狠抓品质),字符串一旦创设,他们的值就不可能改造,要改成有个别变量保存的字符串,首先要销毁原本的字符串,然后再用另三个包涵信纸的字符串填充该变量。

6、valueOf,再次来到对象的字符串、数值或布尔值表示,平时与toString方法再次来到值一样

var name=”jwy”;
name = “jwy”+” study javascript”;

上述正是Object所享有的属性和措施,全数目标都会因为接二连三关系而后续这几个属性和形式。

复制代码

结束语

这里一起始name是保留字符串”jwy”的,第二行代码则将“jwy”+” study javascript”; 值重新赋给name,它先床架叁个能容纳那些尺寸的新字符串,然后填充,销毁原本的字符串。

         Undefined、Null、Boolean、Number、String是javascript中的基本数据类型,而Object属于引用类型。用typeof检测别的类型会回到相应的字符串,但是检查实验null或对象时,会重返”object",如若明白了那几个,往后就不会看到这个会点摸不着头脑了。顺带提一句:

大致种种值都有自个儿的toString()方法,在末端的小说会解释那几个方法何地来的,它会回来相应值的字符串表现。

Boolean、Number、String 那四个是Javascript中的基本包装等级次序,也正是那八个实在是三个构造函数,他们是Function的实例,是援用类型,至于这里的String与小说说的String是同名,是因为实在上文说的String是指字符串,这里的String指的是String那个构造函数,上边那么写,是为着越来越好的了解,因为Javascript是安枕无忧类型的。大家能够看下String实例化的例证:

var age=11;
var ageToString =age.toString();//”11”
var name = String("jwy");
alert(typeof name);//"object"
var author = "Tom";
alert(typeof name);//"string"

复制代码

至于author那个会有length,substring等等这个艺术,其实是String这里的上面,string只是String的一个实例,类似于C#中的String,和string,只然而这Ritter别一点。

数值、布尔值、对象和字符串值都有toString(),但是null和undefined值未有这几个艺术。

细心,typeof 变量  假设值是"string" 的话,也正是其一变量是字符串,在Javascript中,字符串是着力项目,而在C#或Java中,字符串是援用类型,不过Javascript中的String是引用类型,因为它是Javascript中定义好的主导包装等级次序,在C#中,String跟string其实是一模二样的。这么些东西有一点绕,要是有错的,我们请提出来,一同调换交换。

一般的话,调用toString()方法不必传递参数,然而,在调用数值的toString方法时,可以传递三个参数,用来钦赐要出口的数值的基数(看是要出口十进制、二进制、八进制、十六进制表示)

JavaScript中的值类型和援用类型

鉴于null和undefined未有toString方法,在不领会是还是不是是这二者的事态下调用是会报错的,所以还会有一条路能够选,正是选拔转型函数String(),它呢就足以接过任何项指标值转为字符串了,管理法规如下:

一、拥抱JavaScript

1、若是这么些值有toString则一向调用,并赶回结果

早已名不经传的JavaScript随着AJAX的流行而身价倍增,以后JavaScript不再一味是WEB开辟中三个无所谓的协理理工科程师具,以致有了非常属于它的岗位“JavaScript技术员”,那怕您一味是一名WEB后台开拓程序猿,你都必需精晓JavaScript,至少在局地有关招聘岗位供给上您能够看到“熟悉JavaScript优先”的单词。以至本人还要告诉您,你将得以用JavaScript开荒桌面软件,那得益于Adobe AI途睿欧的其余一种开荒方式,即用HTML+CSS+JavaScript开垦AIENVISION。

2、如果是null,则返回”null”

二、值类型和征引类型话题

3、如果是unde,则返回”undefined”

趁着有些有重型面向对象语言基础朋友的加入,他们试着用JavaScript去模拟面像对象的各类风味,就算有个别模拟展现相比牵强,但也让我们见识到了JavaScript的强有力与灵活性。本文暂不研商JavaScript面向对象编制程序本事。就讲讲JavaScript中的三种变量类型:即值类型和援引类型,那平常又会令你联想到“货仓”,其他还应该有“援引地址”或“指针”相关概念,有过Java或C#编制程序经验的人相信对这两种等级次序不面生。下边就举个例子讲一下那三种档案的次序在JavaScript中的呈现、用法及注意事项。

Object 类型

三、JavaScript值类型和援用类型有何样

Object类型是Javascript援用类型的鼻祖了,(就跟在C#和Java中是相同的道理),在开创Object类型的实例后得感觉其加多属性和章程,

(1)值类型:数值、布尔值、null、undefined。

var o = new Object;//有效,不推荐
var o =new Object();

(2)引用类型:对象、数组、函数。

复制代码

四、怎么着晓得值类型和引用类型及举个例子

 在Javascript中,Object类型所具备的别的性质和办法也一直以来存在于更切实的靶子中。种种实例皆有如下的性质和措施,如下:

作者们能够用“专营店”和“直营店钥匙”来领悟,不通晓以下比喻合不适用,^-^。

1、constructor ,保存着用于创制当前指标的函数。上面构造函数就是Object();

(1)值类型精通:变量的置换等于在八个新的地方依照直营店的专门的职业标准(统一店面精晓为同一的变量内容)新开叁个分行,那样新开的店与别的旧店互不相干、各自运转。

2、hasOwnProperty,用于检查给定的性子是还是不是在时下指标实例中,是就true,不是在实例中,而是在原型中,则是false;

值类型例子

3、isPrototypeOf,用于检查传入的靶子是或不是是另五个对象的原型

function chainStore()
{
  var store1='Nike China';
  var store2=store1;
  store1='Nike U.S.A.';
  alert(store2); //Nike China
}
chainStore();
//把一个值类型(也可以叫基本类型)store2传递给另一个变量(赋值)时,其实是分配了一块新的内存空间,因此改变store1的值对store2没有任何影响,因为它不像引用类型,变量的交换其实是交换了指像同一个内容的地址。

4、propertyIsEnumerable,用于检查给定的属性是不是能够使用for…in语句来枚举,

(2)引用类型了然:变量的置换等于把现存一间店的钥匙(变量引用地址)复制一把给了别的三个总首席营业官,此时四个老董同有时候管理一间店,八个首席营业官的表现都有希望对一间店的营业产生影响。

5、toString,重返对象的字符串表示

引用类型例子

6、valueOf,重返对象的字符串、数值或布尔值表示,平常与toString方法重回值一样

function chainStore()
{
  var store1=['Nike China'];
  var store2=store1;
  alert(store2[0]); //Nike China
  store1[0]='Nike U.S.A.';
  alert(store2[0]); //Nike U.S.A.
}
chainStore();
//在上面的代码中,store2只进行了一次赋值,理论上它的值已定,但后面通过改写store1的值,发现store2的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方。

如上正是Object所全部的习性和格局,全数指标都会因为三番五次关系而三番两次那些属性和办法。

您可能感兴趣的篇章:

  • js中决断Object、Array、Function等引用类型对象是不是等于
  • JavaScript基础篇(3)之Object、Function等引用类型
  • 详解JavaScript基础知识(JSON、Function对象、原型、援用类型)
  • JavaScript援用类型之大旨包装档案的次序实例解析【Boolean、Number和String】
  • JavaScript引用类型Date常见用法实例分析
  • JavaScript引用类型Object常见用法实例剖析
  • JavaScript援用类型Array实例剖判
  • js类型转换与援用类型详解(Boolean_Number_String)
  • javascript中挑明州类型和引用类型的区别深入分析
  • 浅析JavaScript基本项目与引用类型
  • JavaScript援用类型Function实例详解

结束语

         Undefined、Null、Boolean、Number、String是javascript中的基本数据类型,而Object属于引用类型。用typeof检测别的项目会回到相应的字符串,然而检查实验null或对象时,会再次来到”object",假若明白了这几个,以往就不拜访到那一个会点摸不着头脑了。顺带提一句:

Boolean、Number、String 那八个是Javascript中的基本包装档案的次序,也正是这七个实际是贰个构造函数,他们是Function的实例,是引用类型,至于这里的String与篇章说的String是同名,是因为实际上文说的String是指字符串,这里的String指的是String那些构造函数,上边那么写,是为了越来越好的接头,因为Javascript是漠不关注类型的。我们得以看下String实例化的事例:

var name = String("jwy");
alert(typeof name);//"object"
var author = "Tom";
alert(typeof name);//"string"

复制代码

至于author那一个会有length,substring等等那些点子,其实是String这里的地方,string只是String的一个实例,类似于C#中的String,和string,只可是这Ritter别一点。

注意,typeof 变量  即便值是"string" 的话,也正是其一变量是字符串,在Javascript中,字符串是宗旨类型,而在C#或Java中,字符串是引用类型,但是Javascript中的String是援引类型,因为它是Javascript中定义好的为主包装等级次序,在C#中,String跟string其实是同样的。这一个事物有一点点绕,固然有错的,我们请建议来,一同沟通调换。

假定认为不错的话,请点击下推荐,(*^__^*) !!

 转发请申明出处:

参照文书档案:javascript高端程序设计(第二版)

本文由六合联盟网发布于计算机网络,转载请注明出处:JavaScript基本数据类型及值类型和引用类型,Jav

关键词: