目录
二、值类型与引用类型" >二、值类型与引用类型
首页 web前端 js教程 javascript基本数据类型与值类型引用类型介绍

javascript基本数据类型与值类型引用类型介绍

Apr 07, 2017 am 10:15 AM

 本文主要讲了javascript中的基本数据类型,以及值类型和引用类型的区别与使用

一、基本数据类型

         在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。还含有一种复杂数据类型—Object。

(1)、"undefined"——未申明,或者变量的值即为undefined或者未初始化;

(2)、"boolean" ——如果这变量的值是布尔类型;
(3)、"string" ——值是字符串类型;
(4)、"number" ——值是数字类型;
(5)、"object" ——对象或者值为null;
    typeof这个关键字是一定要说的,因为javascript是松散类型的,在变量申明时并没有使用与之类型相对应的关键字,如果在代码中想要获知某个变量的基本数据量,就可以使用typeof。这里要注意的是typeof返回的是字符串类型。

(5)、"function" ——函数。

实例验证:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function test1(){
var testMessage;
alert(typeof testMessage);
}
function test2(){
var testMessage = null;
alert(typeof testMessage);
}
function test3(){
var testMessage = "hello";
alert(typeof testMessage)
}
function test4(){
var testMessage = 12;
alert(typeof testMessage)
}
function test5(){
var testMessage = true;
alert(typeof testMessage)
}
function test6(){
var testMessage = [];
alert(typeof testMessage)
}
function test7(){
var testMessage = [];
alert(typeof testMessage)
}
function test8(){
var testMessage = new Object();
alert(typeof testMessage)
}
function test9(){
alert(typeof test8)
}
</script>
</head>
<body>
<button type="button" id="button1" onclick = "test1()">测试undefined</button>
<button type="button" id="button2" onclick = "test2()">测试null</button>
<button type="button" id="button3" onclick = "test3()">测试string</button>
<button type="button" id="button4" onclick = "test4()">测试number</button>
<button type="button" id="button5" onclick = "test5()">测试boolean</button>
<button type="button" id="button6" onclick = "test6()">测试[]</button>
<button type="button" id="button7" onclick = "test7()">测试{}</button>
<button type="button" id="button8" onclick = "test8()">测试Object</button>
<button type="button" id="button9" onclick = "test9()">测试function</button>
</body>
</html>
登录后复制

1、Undefined
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined

function test1(){
var testMessage;
alert(typeof testMessage);
}
登录后复制

\

2、Null

Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象

function test2(){
var testMessage = null;
alert(typeof testMessage);
}
登录后复制

\

3、string

字符串,字符串可以是引号中的任意文本。可以使用单引号或双引号:

function test3(){
var testMessage = "hello";
alert(typeof testMessage)
}
登录后复制

\

4、number

可以是浮点数,整数

function test4(){
var testMessage = 12;
alert(typeof testMessage)
}
登录后复制

\

5、boolean

布尔型,有两个值 true or false.

function test5(){
var testMessage = true;
alert(typeof testMessage)
}
登录后复制

\

6、obeject:

对象与数组,还有null也是。对象和数组里都可以包含不同的类型,包括对象和数组。

function test6(){
var testMessage = [];
alert(typeof testMessage)
}
function test7(){
var testMessage = [];
alert(typeof testMessage)
}
function test8(){
var testMessage = new Object();
alert(typeof testMessage)
}
登录后复制

\

\

\

7、function

函数类型

function test9(){
alert(typeof test8)
}
登录后复制

\


二、值类型与引用类型

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

值类型指的是保存在栈内存中的简单数据段,按值访问,操作的是他们实际保存的值;

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

引用类型指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象;引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;

如:以下都是引用类型

var cars=   new Array;
var person= new Object;
登录后复制

1、值类型实例:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function fun1(){
var a=1;
var b=a;
b=-1;
alert("a="+a+" b="+b);
}
function fun2(){
var a=new String("lin");
var b=a;
b = new String("bing");
alert("a="+a+" b="+b);
}
function fun3(){
var a="lin";
var b=a;
b = "bing";
alert("a="+a+" b="+b);
}
</script>
</head>
<body>
<button type="button" id="button1" onclick = "fun1()">测试值类型</button>
<button type="button" id="button2" onclick = "fun2()">测试值类型</button>
<button type="button" id="button1" onclick = "fun3()">测试值类型</button>
</body>
</html>
登录后复制

\


\

\

2、引用类型实例

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function fun1(){
var a=[1,2,3];
var b=a;
a[0]=1000;
alert("a="+a+" b="+b);
}
function fun2(){
var a = [1,2,3];
var b = a;
b = [11, 12, 13];//b指向了另一个内存地址,与a断开关联
a[0] = 2;
alert("a="+a+" b="+b);
}

function fun3(){
    function ClassDemo(){
       this.name = "linbingwen";
       this.url = "我的博客:http://blog.csdn.net/evankaka";
    }
    var objDemo = new ClassDemo();
    var   objDemo1 = objDemo;
    var   objDemo2 = objDemo;
    objDemo1.url = "我的主页:http://my.csdn.net/Evankaka";
    alert(
    "objDemo1.url的值:\n" + objDemo1.url + "\n" +
    "objDemo2.url的值:\n" + objDemo2.url
);
}
</script>
</head>
<body>
<button type="button" id="button1" onclick = "fun1()">测试引用类型</button>
<button type="button" id="button2" onclick = "fun2()">测试引用类型</button>
<button type="button" id="button3" onclick = "fun3()">测试引用类型</button>
</body>
</html>
登录后复制

\

 

\

\

注意:
undefined,null,空字符串,0都等于false,都可以通过!来取反。

以上是 javascript基本数据类型与值类型引用类型介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MySQL数据库中性别字段应该使用什么数据类型? MySQL数据库中性别字段应该使用什么数据类型? Mar 14, 2024 pm 01:21 PM

在MySQL数据库中,性别字段通常可以使用ENUM类型来存储。ENUM是一种枚举类型,它允许我们在一组预定义的值中选择一个作为字段的值。在表示性别这样一个固定且有限的选项时,ENUM是一个很好的选择。让我们来看一个具体的代码示例:假设我们有一个名为"users"的表,其中包含了用户的信息,包括性别。现在我们要为性别创建一个字段,我们可以这样设计表结构:CRE

php8数据类型怎么转换 php8数据类型怎么转换 Nov 16, 2023 pm 02:51 PM

php8数据类型的方法有字符串转换为整数、整数转换为字符串、字符串转换为浮点数、浮点数转换为字符串、数组转换为字符串、字符串转换为数组、布尔值转换为整数、整数转换为布尔值和变量类型判断和转换。详细介绍:1、字符串转换为整数包括intval()函数和(int)强制类型转换;2、整数转换为字符串包括strval()函数和(string)强制类型转换;3、字符串转换为浮点数等等。

MySQL中最适合用于性别字段的数据类型是什么? MySQL中最适合用于性别字段的数据类型是什么? Mar 15, 2024 am 10:24 AM

在MySQL中,最适合用于性别字段的数据类型是ENUM枚举类型。ENUM枚举类型是一种允许定义一组可能取值的数据类型,性别字段适合使用ENUM类型是因为性别通常仅有两个取值,即男和女。接下来,我将通过具体的代码示例来展示如何在MySQL中创建一个性别字段并使用ENUM枚举类型存储性别信息。以下是操作步骤:首先,在MySQL中创建一个名为users的表格,包括

python数据类型有哪些 python数据类型有哪些 Dec 11, 2023 pm 04:17 PM

python数据类型有:1、整型;2、浮点型;3、复数;4、布尔型;5、字符串;6、列表;7、元组;8、集合;9、字典。详细介绍:1、整型,用于表示整数,可以是正数、负数或零,在Python中,整型可以表示的数值范围是平台特定的;2、浮点型,用于表示带有小数部分的数字,浮点型可以表示正数、负数和零;3、复数,用于表示复数,包括实部和虚部;4、布尔型,用于表示布尔值等等。

Python 语法的思维导图:深入理解代码结构 Python 语法的思维导图:深入理解代码结构 Feb 21, 2024 am 09:00 AM

python凭借其简单易读的语法,广泛应用于广泛的领域中。掌握Python语法的基础结构至关重要,既可以提高编程效率,又能深入理解代码的运作方式。为此,本文提供了一个全面的思维导图,详细阐述了Python语法的各个方面。变量和数据类型变量是Python中用于存储数据的容器。思维导图展示了常见的Python数据类型,包括整数、浮点数、字符串、布尔值和列表。每个数据类型都有其自身的特性和操作方法。运算符运算符用于对数据类型执行各种操作。思维导图涵盖了Python中的不同运算符类型,例如算术运算符、比

MySQL中布尔类型的使用方法详解 MySQL中布尔类型的使用方法详解 Mar 15, 2024 am 11:45 AM

MySQL中布尔类型的使用方法详解MySQL是一种常用的关系型数据库管理系统,在实际应用中经常需要使用布尔类型来表示逻辑上的真假值。MySQL中布尔类型有两种表示方式:TINYINT(1)和BOOL。本文将详细介绍MySQL中布尔类型的使用方法,包括布尔类型的定义、赋值、查询和修改等操作,同时结合具体的代码示例进行说明。1.布尔类型的定义在MySQL中,可

MySQL中性别字段最佳数据类型选择是什么? MySQL中性别字段最佳数据类型选择是什么? Mar 14, 2024 pm 01:24 PM

在设计数据库表时,选择合适的数据类型对于性能优化和数据存储效率非常重要。在MySQL数据库中,存储性别字段的数据类型真是没有所谓的最佳选择,因为性别字段一般只有两个取值:男或女。但是为了效率和节省空间,我们可以选择合适的数据类型来存储性别字段。在MySQL中,存储性别字段最常用的数据类型是枚举类型。枚举类型是一种能够把字段的值限定在一个有限的集合内的数据类型

C语言的基本语法和数据类型介绍 C语言的基本语法和数据类型介绍 Mar 18, 2024 pm 04:03 PM

C语言是一种广泛使用的计算机编程语言,具有高效、灵活和强大的特点。要想熟练使用C语言进行编程,首先需要了解其基本语法和数据类型。本文将介绍C语言的基本语法和数据类型,并举例说明。一、基本语法1.1注释在C语言中,可以使用注释来对代码进行说明,以便于理解和维护。注释可以分为单行注释和多行注释。//这是单行注释/*这是多行注释*/1.2关键字C语

See all articles