数据类型,运算符,相等

数据类型

  • 数据类型决定了一个数据的特征,比如:123和”123”,直观上看这两个数据都是123,但实际上前者是一个数字,而后者是一个字符串。
  • 对于不同的数据类型我们在进行操作时会有很大的不同。
  • JavaScript中一共有5种基本数据类型:
    字符串型(String)(双引号里面不能放双引号,单引号里面不能用单引号)
<script type="text/javascript">
        var a = 'hello'
        //alert(a);
        //document.write('我是提示');
        console.log(a);
    </script>

数值型(Number)
布尔型(Boolean)
null型(Null)
undefined型(Undefined)

  • 这5种之外的类型都称为Object(引用数据类型) 对象,所以总的来看JavaScript中共有六种数
    据类型。

type运算符

  • 使用typeof操作符可以用来检查一个变量的数据类型。
  • 使用方式:typeof 数据,例如 typeof 123。
  • 返回结果:
    typeof 数 值 number
    typeof 字符串 string
    typeof 布尔型 boolean
    typeof undefined undefined
    typeof null object

string

  • String用于表示一个字符序列,即字符串。

  • 字符串需要使用 ’或 ”括起来。

  • 转义字符:

    image
  • 将其他数值转换为字符串有三种方式:toString()、String()、 拼串。

number

  • Number 类型用来表示整数和浮点数,最常用的功能就是用来表示10进制的整数和浮点数。
  • Number表示的数字大小是有限的,范围是:
    – ± 1.7976931348623157e+308
    – 如果超过了这个范围,则会返回±Infinity。
  • NaN,即非数值(Not a Number)是一个特殊的数值,JS中当对数值进行计算时没有结果返回,则返回NaN。

数值的转换

  • 有三个函数可以把非数值转换为数值:Number()、parseInt() 和parseFloat()。
  • Number()可以用来转换任意类型的数据,而后两者只能用于 转换字符串。
  • parseInt()只会将字符串转换为整数,而parseFloat()可以转换为浮点数。

boolean

  • 布尔型也被称为逻辑值类型或者真假值类型。

  • 布尔型只能够取真(true)和假(false)两种数值。除此以外, 其他的值都不被支持。

  • 其他的数据类型也可以通过Boolean()函数转换为布尔类型。

  • 转换规则:

    image

undefine

  • Undefined 类型只有一个值,即特殊的 undefined 。
  • 在使用 var 声明变量但未对其加以初始化时,这个变量的值就 是 undefined。例如:
    var message;
    message 的值就是 undefined。
  • 需要注意的是typeof对没有初始化和没有声明的变量都会返回
    undefined。

null

  • Null 类型是第二个只有一个值的数据类型,这个特殊的值是
    null 。
  • 从语义上看null表示的是一个空的对象。所以使用typeof检查
    null会返回一个Object。
  • undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true;

运算符

  • JS中为我们定义了一套对数据进行运算的运算符。

  • 这其中包括:算数运算符、位运算符、关 系运算符等。
    算术运算符

  • 算数运算符顾名思义就是进行算数操作的运算符。
    JS中为我们提供了多种算数运算符。

  • 算数运算符:

    image

自增和自减

  • 自增 ++ 自减 --
  • 自增和自减分为前置运算和后置元素。
  • 所谓的前置元素就是将元素符放到变量的前边,而后置将元素符放到变 量的后边。
  • 例子:
    前置自增:++a
    后置自减:a—
  • 运算符在前置时,表达式值等于变量原值。
  • 运算符在后置是,表达式值等于变量变更以后的值。

逻辑运算符

  • 一般情况下使用逻辑运算符会返回一个布尔值。

  • 逻辑运算符主要有三个:非、与、或。
    在进行逻辑操作时如果操作数不是布尔类型则会将其转换 布尔类型在进行计算。

  • 非使用符号 ! 表示,与使用 && 表示,或使用 || 表示。

    image

  • 非运算符使用 ! 表示。

  • 非运算符可以应用于任意值,无论值是什么类型,这个运 算符都会返回一个布尔值。

  • 非运算符会对原值取反,比如原值是true使用非运算符会 返回false,原值为false使用非运算符会返回true。

  • 与运算符使用 && 表示。

  • 与运算符可以应用于任何数据类型,且不一定返回布尔 值。

  • 对于非布尔值运算,会先将非布尔值转换为布尔值。
    对布尔值做运算时,如果两个值都为true则返回true, 否则返回false。

  • 非布尔值时:如果两个都为true,则返回第二个值,如果两个值中有false则返回靠前的false的值。

  • 或运算符使用 || 表示。

  • 或运算符可以应用于任何数据类型,且不一定返回布尔值。

  • 对于非布尔值运算,会先将非布尔值转换为布尔值。

  • 对布尔值进行运算时,如果两个值都为false则返回false, 否则返回true。

  • 非布尔值时:如果两个都为false ,则返回第二个值,否 则返回靠前true的值。

赋值运算符

  • 简单的赋值操作符由等于号 ( = ) 表示, 其作用就是把右侧的值赋给左侧的变量。
  • 如果在等于号左边添加加减乘除等运算符, 就可以完成复合赋值操作。
  • • +=、*=、-=、/=、%=
  • 比如:a+=10和a=a+10是一样的。

关系运算符

  • 小于(<) 、大于(>) 、小于等于(<=)和大于等于(>=) 这几个关系运算符用于对两个值进行比较,比较的规则与我们 在数学课上所学的一样。
  • 这几个运算符都返回一个布尔值。用来表示两个值之间的关系 是否成立。
    5 > 10 false
    5 < 10 true
    5 <= 10 true
    5 >= 10 false

相等符号

相等

  • JS中使用==来判断两个值是否相等,如果相等则返回true。
  • 使用!=来表示两个值是否不相等,如果不等则返回true。
  • 注意:null和undefined使用==判断时是相等的。
    [图片上传失败...(image-97ac23-1547554205457)]
    b4544aac2e05a8b2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    全等
  • 除了==以外,JS中还提供了===。
  • ===表示全等,他和==基本一致,不过==在判断两个值 时会进行自动的类型转换,而===不会。
  • 也就是说”55”==55会返回true,而”55”===55会返回 false;
  • 同样我们还有!==表示不全等,同样比较时不会自动转型。
  • 也就是说”55”!=55会返回false,而”55”!==55会返回 true;

条件运算符

  • 条件运算符也称为三元运算符。通常运算符写为?:。
  • 这个运算符需要三个操作数,第一个操作数在?之前, 第二个操作数在?和:之间,第三个操作数在:之后。
  • 例如:x > 0 ? x : -x // 求x的绝对值
  • 上边的例子,首先会执行x>0,如果返回true则执行冒 号左边的代码,并将结果返回,这里就是返回x本身, 如果返回false则执行冒号右边的代码,并将结果返回。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 数据类型 数据类型决定了一个数据的特征,比如:123和”123”,直观上看这两个数据都是123,但实际上前者是一个...
    幸而0407阅读 459评论 0 0
  • 前言: 最近在学习javascript中数据类型、运算符,以及运算符优先级等相关基础知识,相对简单、基础但也很重要...
    饥人谷_远方阅读 770评论 0 3
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    许先生__阅读 604评论 0 3
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 678评论 0 0
  • 你胸脯上静谧的两豆花蕾 你双腿间绽开的迷离花蕊 你花香滋味馋人醉无可醉 眉角发梢都惹人想入非非 孙陆辰 于2013.7.
    孙陆辰阅读 656评论 0 1