JS—简单数据类型

————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();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,204评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,636评论 0 6
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,850评论 6 13
  • 断断续续4个月的时间,读完了松浦弥太郎的《100个基本》这本书。作者是个书商作家,在东京开了一家卖旧书的书店cow...
    猴子无脑阅读 222评论 1 0
  • 文/ 陈皓 老兵,明天你就要走 我会紧紧握住你的手 用我的胸口贴紧你的胸口 深情地喊一声 我的兄弟,我的战友 喊的...
    沂蒙文学阅读 565评论 6 11