js基本数据类型、运算、优先级

目录

数据类型简介

数字型Number

字符串型String

Boolean

Undefined

Null

获取变量的数据类型

数据类型的转换

算术运算符概述

浮点数的精度问题

比较运算符

逻辑运算符概述

短路运算(逻辑中断)

赋值运算符

运算符优先级(重点)


数据类型简介


1.1为什么需要数据类型


在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大不同的数据,充分利用存储空间,于是定义了不同的数据类型。
简单来说,数据类型就是数据的类别型号。比如姓名“张三”,年龄18, 这些数据的类型是不一样的。

1.2变量的数据类型


变量是用来存储值的所在处,它们有名字和数据类型。量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。


JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。

var age = 10;
//这是一一个数字型
var areYouOk = '是的"; // 这是一个字符串
在代码运行时,变量的数据类型是由JS引擎根据=右边变量值的数据类型来判断的,运行完毕之后,变量就确定了数据类型。

JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型:
varx= 6;
//x为数字
var X = "Bill";
//x为字符串

 

数字型Number


数字型进制


最常见的进制有    二进制、八进制、十进制、十六进制。

// 1.八进制数字序列范围: 0~7

var num1 = 07;//对应十进制的7
var num3 = 010;//对应十进制的8



//2.十六进制数字序列范围: 0~9以及   A~F(分别代表10~15)


var num = 0xA;   (对应10)
现阶段我们只需要记住,在JS中八进制前面加0 ,十六进制前面加0x

2.数字型范围


JavaScript中数值的最大最小值


alert (Number .MAX_ VALUE);      // 1. 7976931348 623157e+308
alert (Number .MIN VALUE);         // 5e-324


●最大值: Number.MAX_ VALUE ,这个值为: 1.7976931348623157e+308
●最小值: Number.MIN VALUE ,这个值为: 5e-32
 

数字型三个特殊值

alert (Infinity);             // Infinity
alert(- Infinity);           // - Infinity
alert (NaN) ;               // NaN



●                 Infinity , 代表无穷大,大于任何数值
●                -Infinity ,代表无穷小,小于任何数值
●                 NaN,Not a number,代表一个非数值

isNaN

 

字符串型String


字符串型可以是引号中的 任意文本 ,其语法为    双引号""     和单引号  ‘ ’


var strMsg = "我爱北京天安门~"; // 使用双引号表示字符串
var strMsg2 = ' 我爱吃猪蹄~'; // 使用单引号表示字符串

//常见错误
var strMsg3 =我爱大肘子;        // 报错, 没使用引号,会被认为是js代码 ,但j s没有这些语法

因为HTML标签里面的属性使用的是双引号

JS这里我们更推荐使用单引号
 

字符串引号嵌套

JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)

var strMsg = '我是"高帅富”程序猿'; // 可以用' '包含"” 
var strMsg2 = "我是'高帅富'程序猿"; // 也可以用""包含”
 //常见错误 var badQuotes = 'What on earth?"; //报错,不能单双引号搭配

字符串转义字符

类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。 转义符都是\开头的,常用的转义符及其说明如下:

字符串拼接


●多个字符串之间可以使用  +   进行拼接,其拼接方式为字符串+任何类型=拼接之后的新字符串
拼接前会把与字符串相加的任何类型转成字符串 ,再拼接成一个新的字符串
//1.1字符串"相加"
alert('hello' + ' ' + 'world') ; // hello world
//1.2数值字符串"相加" !
alert('100' + '100') ; // 100100
//1.3数值字符串+数值
alert('11' + 12) ;
// 1112

aler(11+22);//33


 +   号总结口诀:数值相加,字符相连最常用的字符串拼接:字符串 + 变量

var age = 18; 
console.log("我的年龄是" + age); //变量不能加引号,否则就变成字符串了

//我的年龄是18

Boolean

布尔类型有两个值: true和false ,其中true表示真(对) ,而false表示假(错)。

布尔型和数字型相加的时候,true 的值为1 , false 的值为0

console.log(true + 1) ;// 2 
console.log(false + 1); // 1

Undefined

一个声明后没有被赋值的变量会有一个默认值 undefined (如果进行相连或者相加时,注意结果)

var variable; 
console.log (variable);// undefined 
console.log('你好' + variable); // 你好undefined 
console.log(11 + variable) ;//NaN

Null

一个声明变量给null值,里面存的值为空(学习对象时, 我们继续研究nulI)

var vari = null; 
console.log('你好' + vari); // 你好null
 console.log(11 + vari) ; //   11 
console.log(true + vari);  //   1

获取变量的数据类型

使用   typeof()   运算符来获取变量的数据类型

var a = 10;
var b = "我是字符串" 
var c = true 
var d = undefined 
var e = null   //??? ​ 
console.log(typeof a);   //console.log(typeof(a));   此写法也可

数据类型的转换

  1. 为什么需要数据类型转化

    使用表单prompt 获取过来的数据默认是 字符串类型 的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是根据需求把一种数据类型的变量转换成另外一种数据类型

  2. 转换为字符串

    方式说明案例
    toString()转成字符串var num= 1; alert(num.toString());
    String()强制转换转成字符串var num = 1; alert(String(num));
    加号拼接字符串和字符串拼接,结果都是字符串var num= 1; alert(num+“我是字符串");
    • toString() 和String()使用方式不一样。

    • 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一种方式也称之为隐式转换

  3. 转换为数字类型(重点)

    方式说明案例
    parselnt(string)函数将string类型转成整数数值型parselnt('78')
    parseFloat(string)函数将string类型转成浮点数数值型parseFloat('78.21')
    Number()强制转换函数将string类型转换为数值型Number('12')
    js隐式转换(- * /)     // 不能用+利用算术运算隐式转换为数值型'12'- 0
    • 注意parselnt和parseFloat单词的大小写,这2个是重点

    • 隐式转换是我们在进行算数运算的时候, JS自动转换了数据类型

  4. 转换为布尔型                                                                               

                              

方式          说明           案例
Boolean()   函数      其他类型转成布尔值          Boolean('true');


●代表空、否定的值会被转换为false, 如 " ''、0、NaN、 null、 undefined
●其余值都会被转换为true


console. log (Boolean('''')) ; // false
console. log (Boolean(0)); // false
console. log (Boolean(NaN)); // false
console. log (Boolean (null)) ; // false
console. log (Boolean (undefined) ); // false
console .1og (Boolean('小白')); // true
console. log (Boolean(12)) ; // true 

算术运算符概述


概念:算术运算使用的符号,用于执行两个变量或值的算术运算。

运算符描述实例
+10+ 20= 30
-10- 20=-10
*10* 20= 200
/10/ 20=0.5
%取余数(取模)返回除法的余数  9%2= 1

浮点数的精度问题


浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数。

var result = 0.1 + 0.2;
//结果不是0.3 ,而是: 0.30000000000000004
console.log(0.07*100) ;
//结果不是7,而是: 7.00000000000001


所以:不要直接判断两个浮点数是否相等!

比较运算符



 

 

逻辑运算符概述


概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值

后面开发中经常用于多个条件的判断
 

逻辑运算符说明案例
&&“逻辑与",简称"与”andtrue && false
||“逻辑或",简称"或”ortrue|| false
!“逻辑非",简称“非”not! true


短路运算(逻辑中断)


短路运算的原理:

当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;
 

逻辑与


●语法:表达式1 &&表达式2
●如果第一个表达式的值为真,则返回表达式2              //可以返回数值,不只是返回true、false
●如果第一个表达式的值为假,则返回表达式1
 

逻辑或


●语法:表达式1|1表达式2
●如果第一个表达式的值为真 ,则返回表达式1
●如果第一个表达式的值为假 ,则返回表达式2
 

console.log( 123 | | 456 ) ;      // 123
console.log( 0 | |456);             // 456
console.log(123||456||789);   //123



赋值运算符

 

运算符优先级(重点)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值