JavaScript数据类型

此时正徘徊在找工作的途中,闲暇之余,从头梳理一下JS巩固自己,也为需要的人提供一份资料。

技术一般,能力有限,有什么错的地方还望大家指正。

数据类型

JS是一种弱类型的语言,至今一共有7种数据类型:
1、Boolean,布尔值类型,一共就只有两个值,true或者false,定义一个布尔值:
<pre>var flag = true;</pre>
2、Number,数字类型,表示数字,3,3.1,3.14这些都是Number的类型,JS不想其他语言一样有long,int,float,double这样的细分,定义一个数字:
<pre>var age = 23;</pre>
3、String,字符串类型,表示一个字符串,类似"张三","23"这样的值,定义一个字符串:
<pre>var name = "张三";</pre>
4、null,表示为空,它只有一个值就是null,定义一个null类型的值:
<pre>var obj = null;</pre>
5、undefined,表示未定义,当我们声明了一个变量,但是没有赋值的时候这个变量的值就是undefined,例如:
<pre>
var _val;
console.log(_val)//undefined
</pre>
6、Symbol,在ES6中诞生的一种类型,它表示一个唯一值,创建一个Symbol类型的值:
<pre>
var _val = Symbol();
console.log(_val);//Symbol()
</pre>
Symbol可以接收一个参数,通常称为描述,因为任何一个Symbol的值打印出来都是Symbol(),传入一个参数我们就可以对其进行区分,再次声明Symbol()创建出来的是唯一值:
<pre>
var a = Symbol("a");
var b = Symbol("b");
console.log(a);//Symbol(a)
console.log(b);//Symbol(b)
a==b;//false
</pre>
更多关于Symbol知识可以查阅资料
7、Object,对象类型,函数,数组,JSON都是对象类型,对象类型最突出的特点就是可以设置属性,我们可以把他类比成一个数据集合,定义一个对象:
<pre>
var me = {};
me.age = 23;
me.sex = "man";
</pre>


变量声明

我们可以通过var、let、const来声明一个变量,let和const是ES6中新加入的变量声明方式。
使用var声明的变量会触发变量提升这一机制,而let和const声明的变量则不会变量提升,var使用:
<pre>
var _str = "hello JS";//声明一个字符串
var _num = 23;//声明一个数字
var _arr = [];//声明一个数组
var _obj = {};//声明一个对象
var _flag = true;//声明一个布尔值
</pre>
let作用是可以声明一个块级作用域,在let出现之前JS只存在函数作用域和全局作用域,而在有了let之后才出现块级作用域,在一些方面方便了我们的使用,我们先用var声明一个变量:
<pre>
var a = 1;
if(true){
var a = 2;
}
console.log(a);//2
</pre>
然后使用let来声明:
<pre>
var a = 1;
if(true){
let a = 2;
}
console.log(a);//1
</pre>
let声明的变量只在其块级范围内有效,在上面的代码中只在{***}中有效,另外通过var声明的变量我们可以通过window对象来进行访问,而使用let声明的对象我们是不能通过window来访问的:
<pre>
var a = 1;
let b = 2;
window.a;//1
window.b;//undefined
</pre>
const表示声明一个常量,常量即最终值,一旦创建之后就不能被修改,例如:
<pre>
const a = 1;
a = 2;//对a重新赋值会报错
</pre>

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

推荐阅读更多精彩内容

  • 每天一句:每个月要读一本书,离开学校了,你还要经常保持阅读的习惯,大学时候,考前的通宵达旦,说明你具备快速学习的能...
    EndEvent阅读 421评论 0 0
  • 标识符命名规则 对于变量名,键值对中的键名应满足如下要求: 开头必须是字母、下划线(_)或美元符号($) 除了开头...
    faremax阅读 278评论 0 0
  • 1.数据类型 ECMAScript规范定义了7种数据类型,分为基本类型和引用类型 基本类型:String,Bool...
    卓三阳阅读 590评论 0 0
  • 01 第一次见到C是多年前在某单位的面试候考室里。没有着正装,挺着大肚子,埋头看一堆手写的材料。我心里默默的把这个...
    E婶阅读 598评论 1 3
  • 今天手工做了三个小盒子,加上宝哥画的单词卡片,扑鱼达人的游戏可以玩起来啦! 虽说宝哥做作业如蜗牛,可是没想到那天一...
    小舟2017阅读 709评论 3 6