美文网首页
JS—简单数据类型

JS—简单数据类型

作者: 沙子粒儿在西安 | 来源:发表于2017-07-27 17:39 被阅读0次

————from CodeForDream
数据 和 过程 是构成javascript的基本元素。
数据 分两类:

  • 简单数据——有undefined,null,boolean,number和string 五种
  • 复杂数据——只有一种,即对象(object)

过程 只有一种形式,就是 function

一、简单数据类型

1 . undefined : 这个值表示变量不含有值。
若 typeof(data) 的返回值是字符串 'undefined' ,即变量data的数据类型是 undefined,data不含有值。
注:typeof是javascript提供的运算符,运行后会返回括号之中数据的数据类型。如 typeof('hello') 返回结果是 'string',则'hello'的类型是 字符串。

2 . null : 这个值表示变量为空。
若 typeof(data) 的返回值是字符串 'null' ,即变量data的数据类型是 null,即data为空。
undefined 和 null 的区别是:typeof(undefined) 返回值是 'undefined',typeof(null) 返回值是字符串 'object'(对象类型)。

3 . boolean : true 或 false 代表布尔值。
var data = true,typeof(data) 返回值是字符串 'boolean' ,即变量data的数据类型是 布尔值。

4 . number : javascript 只有一种数字类型。数字可以带小数点,也可以不带。如:123 和12.3
var data = 123,typeof(data) 返回值是字符串 'number' ,即变量data的数据类型是 数字。

5 . string : 前面我们说起过,字符串是字符的载体,而且必须被成对的引号包围。 如: 'hello world!'
var data = 'hello world!',typeof(data) 返回值是字符串 'string' ,即变量data的数据类型是 字符串。

二、复杂数据类型

对象(object)

形式一

{} 花括号,用来定义一个对象
括号内部,属性以键值对的形式,如 key : value 来定义,又称属性名和属性值。属性间由逗号分隔。
例如 var student={name:'Tom', finish_work:true, id:123};
对象 (student) 有三个属性:name、finish_work 、 id

Ps:空格和属性间的换行无关紧要。也可以写成:
var student = { name : 'Tom', finish_work : true, id : 123 };

对象属性值有两种获取方式:
name = student.name;name = student['name'];
都可以将'Tom'取出来赋给变量name。在取值方面,两者是完全等价的。 唯一的区别在于使用场景,后者可以用于动态的取值,我可以通过变量传递我要访问的属性名。

形式二 数组

对象(object)可以由一个或者多个属性组成。比如期末成绩的数据可以详细地用对象(object)表示为:
var grades ={ Maths : 80, Chinese : 82, Biology : 79, Physics : 86};
仅需要记录成绩的数值时,可以采用对象的另一种格式 "数组(array)"。
var scores = [ 80, 82, 79, 86];
如上所示,数组由方括号包围。在括号内部,数据以独立值的形式 value 来定义。数据值之间由逗号分隔。
取scores数组中第一个值的方法是:
var scores = scores[0];
由于数组的下标(序号)是从零开始的,所以第一个项目是[0],第二个是[1],以此类推。

类与对象
1.对象的字面量表达式,通常称为JSON(JavaScript Object Notation)
对象 = { 属性名 : 属性值, 属性名 : 属性值, ┅ ┅ }
其中,属性名可以是标识符,字符串,或是数值.属性值可以是任意的数据值,对象或者函数.

{ x: 2, say_hello: function(){ console.log( "Hello!" ) } }
//属性值包含函数
//像上面这种没有函数名的函数叫做"匿名函数"

2.对象的new表达式

JavaScript中new表达式的作用是创建一个对象,我们一般称通过new表达式创建的对象为 实例对象(简称实例).可以像下面这样使用该表达式.

var robot = new Object();      //生成一个实例对象robot
robot.name = "Cat";             //定义实例对象robot的name属性,并赋值
robot.age = 1;                                  
robot.info = {height: 120, weight: 40}              
robot.say_hello = function(){ console.log("Hello!") };

用new创建的对象,需要一个模板,就像工业铸造的模具一样。每new一次,便铸造了一个新的实例。 这个对象 模板 被称之为 。这个new的过程叫做实例化。
上面代码中,new 表达式后面的 Object 就是类名。是通过new表达式,由类生成对象的用法。

除了类的实例化,我们还可以直接以字面量表达式的方式定义了一个对象player:var player = {code : 2,name : 'Tom',status : 'active' }

三、函数的类型

typeof(函数名) 输出"function",即函数的类型。

四、对象的函数

1 、方法调用(调用对象的函数属性)
对象的函数属性有一种区别于一般函数的名称,叫做 方法。相应的,调用对象的函数属性时就叫做方法的调用。
在对象内部的函数(即方法)的调用:

var robot = { 
                        x   : 2, 
                say_hello   : function(){ console.log( "Hello!" ); }
            };
robot.say_hello();  

2 、构造函数调用(相当于类的用法,用来生成对象)
在 对象的new表达式 内容的代码里:

var robot = new Object();      //生成一个对象robot

Object()是JavaScript内置对象Object的构造函数。

3 、动态访问对象的函数
对象的函数属性依然是函数,所以除了点+函数名的方式访问,对象也可以通过[]的方式访问。比如

 var robot = {
                    x   : 2,
                    say_hello   : function(){ console.log( "Hello!" ); }
             };
 robot["say_hello"]();     //等价于 robot.say_hello();

相关文章

  • js中typeof返回的数据类型有哪些

    对于js初学者来说,js的数据类型可以简单地区分为简单数据类型和复杂数据类型。简单数据类型包括以下这些:numbe...

  • 详解Js中的数据类型(一)

    整个Js可以简单理解为二个部分,数据部分,操作运算部分。 Js中数据类型分为:原始的数据类型 (由简单数据类型组成...

  • JavaScript (第一篇)

    JS 打印消息 JS 数据类型 简单数据类型: Number:数字类型String:字符串类型Boolean:...

  • JavaScript中数据类型

    js中的数据类型: 基本数据类型:简单结构组成Numberstringbooleannullundefined 引...

  • 6-10

    6、js的数据类型 简单数据类型:Number、String、Boolean、 undefined、object、...

  • JavaScript进阶之:二、JS中的数据类型

    一、js中的数据类型:基本数据类型 和 复杂数据类型 基本(简单)数据类型:string ...

  • 比较两个复杂数据类型

    分类 JS 数据类型分为 简单数据类型:null, undefined, number, string, bool...

  • 数据类型

    js的数据类型分为两种: 简单数据类型(也叫基本数据类型) 复杂数据类型 简单数据类型:6种 String Num...

  • 深复制和浅复制

    JS的数据类型 在js中,变量的类型可以大致分成两种:基本数据类型和引用数据类型,其中基本数据类型指的是简单的数据...

  • JS中常见的数据类型

    JS基本有五种简单数据类型:String,Number,Boolean,Null,Undefined。引用数据类型...

网友评论

      本文标题:JS—简单数据类型

      本文链接:https://www.haomeiwen.com/subject/notzkxtx.html