js中的5 种简单数据类型

一、数据类型概述:

    Undefined、Null、Boolean、Number 、String、Object(复杂数据类型)

二、Undefined类型:

      Undefined 类型只有一个值,即特殊的 undefined。

        在使用 var 声明变量,但没有对其初始化时,这个变量的值就是 undefined。

var box;
alert(box);

我们没有必要显式的给一个变量赋值为 undefined,因为没有赋值的变量会隐式的(自动的)赋值为 undefined;

undefined 主要的目的是为了用于比较

ECMAScript 第 3 版之前并没有引入这个值,引入之后为了正式区分空对象与未经初始化的变量。

未初始化的变量与根本不存在的变量(未声明的变量)也是不一样的。

var box;
alert(age); //报错:age is not defined

如果 typeof box,typeof age 都返回的 undefined。从逻辑上思考,他们的值,一个是 undefined,一个报错;他们的类型,却都是 undefined。所以,我们在定义变量的时候,尽可能的不要只声明,不赋值。

三、Null类型:

  Null 类型是一个只有一个值的数据类型,即特殊的值 null。它表示一个空对象引用(指针),而 typeof 操作符检测 null 会返回 object。

var box = null;
alert(typeof box);//object

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null。这样,当检查 null 值就知道是否已经变量是否已经分配了对象引用了。

var box = null;
if (box != null) {
    alert(‘box 对象已存在!‘);
}

四、Boolean类型:

  Boolean 类型有两个值(字面量):true 和 false。而 true 不一定等于 1,false 不一定等于 0。

  JavaScript 是区分大小写的,True 和 False 或者其他都不是 Boolean 类型的值。

  虽然 Boolean 类型的字面量只有 true 和 false 两种,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值。

  要将一个值转换为其对应的 Boolean值,可以使用转型函数 Boolean()。

var box = true;
alert(typeof box);
alert(box == 1);//true
alert(box == 0);//false
alert(box === 1);//结果为false
alert(typeof box == typeof 1);//false

var hello1 = ‘Hello World!‘;
var hello2 = Boolean(hello1);
alert(typeof hello1);//string
alert(typeof hello2);//boolean
alert(hello2);        //true,如果hello1的值为null的话  这里结果为false

上面是一种显示转换,属于强制性转换。而实际应用中,还有一种隐式转换。比如,在if 条件语句里面的条件判断,就存在隐式转换。

var hello = ‘Hello World!‘;
if (hello) {
     alert(‘如果条件为 true,就执行我这条!‘);  //如果hello这个字符串变量不是空字符串就执行这条,否则执行else下的语句
} else {
     alert(‘如果条件为 false,就执行我这条!‘);
}
时间: 2024-12-11 17:37:08

js中的5 种简单数据类型的相关文章

Verilog中的三种简单触发器

时序逻辑中的三种简单触发器,使用Verilog语言编写,用来熟悉语法最好不过了. D触发器 module D_LOCK(D,CLK,Q,NQ); //正边沿D触发 output Q; output NQ; input D; input CLK; //时序赋值 reg Q; assign NQ=~Q; //上升沿触发 always @(posedge CLK) begin Q<=D; end endmodule //a simple testbench module d_lock_tb(); re

JS中的两种数据类型以及实现引用类型的深拷贝

一.前言 我们知道,在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型.基本类型基本类型有String.Boolean.Number,Undefined.Null,这些基本类型都是按值传递的,也称为值类型. 引用类型引用类型有对象.数组.函数,它们都是按引用访问的. 二.存储方式区别 基本类型和引用类型由于两者在内存中存储的方式不同,造成两者访问的方式也不同.其中,基本类型存储在内存的栈中,是按值访问:引用类型存储在内存的堆中,是按引用访问.可如下图所示: 当有 1 var n

【js实例】js中的5种基本数据类型和9种操作符

js中的5中基本数据类型 js标识符 第一个字符必须为字母,下划线,或美元符 其他字符可以是字母,下划线,美元符,数字 js标识符区分大小写 标识符不能使关键字和保留字 关键字: break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default if throw   delete in try  

2.1 javascript中的五种基本数据类型(待更新)

[0]5种数据类型: [0.1]基本数据类型:Undefined.Null.Boolean.Number.String [0.1.1]基本类型值是指简单的数据段,5种基本类型是按值访问的,因为可以操作保存在变量中的实际值 [0.1.2]基本类型的值在内存中占据固定大小的空间,被保存在栈内存中.从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本. [0.1.3]不能给基本类型的值添加属性 [0.2]引用数据类型:Object ☆重点理解和掌握部分: [0.2.1]引用类型值是指那些可以

谈谈 js中的几种模式 (一)

今天看了<JavaScript 高级程序设计>(第三版)这本书,颇有收获,总想写点什么,只恨自己菜鸟一只写不出什么真知灼见,只能......好了废话不多说,开篇了. 大家都知道在js中可以用Object构造函数和对象字面量这 //利用Object构造函数创建对象 var person=new Object(); person.name="DJL"; person.age=22; //利用对象字面量创建对象 var person2={ name:"DJL"

JS中的几种函数

函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识: 包装函数:        (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问,外部作用域则不行 (function foo(){...})()        第一个()将函数变成表达式,第二个()执行了这个函数,这种模式代表立即执行函数表达式   包装函数的声明以(function...而不是function开始,函数会被当作函数表达式而不是一个标准的函数声明来处理    

事件委托,js中的一种优化方法

在前端编程中,我们常会遇到一种叫做事件委托的方法. 那么, 什么是事件委托呢? 简单来说,事件就是指onclick,onmouseover,onmouseout等大部分事件,为什么说是大部分后面会提到,因为有些例外:委托就是本来由元素x自己来做的事,让其父元素代为办理,这个就像儿子的学费由老子来交一样. 事件委托的原理? 事件委托的原理很简单,主要利用的javascript的事件冒泡机制.具体来讲就是,当事件源是文档或者文档元素时,在不主动阻止事件冒泡的情况下,事件会按着dom树结构由事件源逐级

js中的4种循环结构

js有4种循环结构: 1.for循环 ==>多次遍历代码块 2.for / in循环==>遍历对象属性 3.while循环==>当指定条件为true时,循环代码块 4.do while循环==>当指定条件为true时,循环代码块 for循环 一般都有特定的计数器变量.操作计数器的三个重要步骤为:初始化.检测.更新 语句1的作用是将变量初始化: 语句2的作用是在每次循环前都要检测变量的值是否在某一个范围内: 语句3的作用是更新计数器变量:每次循环后进行自增或者自减操作 for(语句1

js中的4种函数调用模式

javascript一共有4种调用模式:函数调用模式.方法调用模式.构造器调用模式和间接调用模式. [1]函数调用模式 当一个函数并非一个对象的属性时,那么它就是被当做一个函数来调用的.对于普通的函数调用来说,函数的返回值就是调用表达式的值 function add(x,y){ return x+y; } var sum = add(3,4); console.log(sum)//7 使用函数调用模式调用函数时,非严格模式下,this被绑定到全局对象:在严格模式下,this是undefined